如何访问多维数组元素以将它们相乘
问题描述:
创建一个多维数组,其中包含运输公司可能用于确定箱体容量的几个框的度量单位(以英寸为单位)。我无法访问我其实想要。我只需要从长度和深度中多取3个整数。如何访问多维数组元素以将它们相乘
<!DOCTYPE html>
<html>
<head>
<title>DTD and Box Array</title>
</head>
<body>
<?php
$boxArray = array (
'Small Box' => array(12, 10, 2.5),
'Medium Box' => array(30, 20, 4),
'Large Box' => array(60, 40, 11.5)
);
echo '<table border="1">';
echo '<tr><th>Length</th><th>Width</th><th>Depth</th></tr>';
foreach ($boxArray as $k => $v)
{
echo $k.': '.$v[0].' x '.$v[1].' x '.$v[2].' = ' .$v[0]*$v[1]*$v[2].'<br>';
}
foreach($boxArray as $boxArray)
{
echo '<tr>';
foreach($boxArray as $key)
{
echo '<td>'.$key.'</td>';
}
echo '</tr>';
}
// Length * width * depth - dont know how get the integers.
// This echo isnt grabbing the integers i want
// Multiply small box length * width * height
?>
</body>
</html>
答
1)你似乎覆盖$boxArray
vaiable在foreach
循环
2)echo $boxArray[1][0] , $boxArray[1][0] ,$boxArray[3,0];
是不正确的,你需要echo $boxArray[1][0] .','. $boxArray[1][0] .','. $boxArray[3,0];
3)$boxArray[1][0]
引用一个字符串 “中盒”
4)$boxArray[3,0]
不是正确的密钥参考,并且会返回空值
“小盒子”,“中等盒子”,“大盒子”应该是数组键吗?
即
$boxArray = array ( "Small Box" => array(12,10,2.5), etc... )
我有一种感觉,你的意思做的是这样的:
$boxArray = array (
'Small Box' => array(12, 10, 2.5),
'Medium Box' => array(30, 20, 4),
'Large Box' => array(60, 40, 11.5)
);
foreach ($boxArray as $k => $v)
{
echo $k.': '.$v[0].' x '.$v[1].' x '.$v[2].' = ' .$v[0]*$v[1]*$v[2].'<br>';
}
如果你的阵列是正确的格式:
foreach ($boxArray as $v)
{
echo $v[0].": ".$v[1].' x '.$v[2].' x '.$v[3].' = ' $v[1]*$v[2]*$v[3];
}
我很感激,我认为foreach语法中有一个错误,就是php在说什么。另外主要目标是能够获得表格中的整数,并将每个盒子大小的整数倍数。 – Doobie2012
编辑答案...目前无法测试代码 – Gavin
我编辑我的代码,也谢谢你,即时通讯使用2 foreach循环idk如果这是正确的,但其工作。 – Doobie2012