如何访问多维数组元素以将它们相乘

时间:2016-02-28 14:56:49

标签: php arrays html5 multidimensional-array

创建一个多维数组,其中包含多个盒子的测量值,以英寸为单位,运输公司可能会使用这些盒子来确定盒子的体积。我无法访问我真正想要的元素。我只需要从长度和深度中加倍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 个答案:

答案 0 :(得分:1)

1)您似乎覆盖了$boxArray循环中的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]引用一个字符串&#34; Medium Box&#34;

4)$boxArray[3,0]不是正确的密钥引用,并且将返回null

&#34; Small Box&#34;,&#34; Medium Box&#34;,&#34; Large Box&#34;是数组键?

$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]; 
    }