2016-02-28 67 views
1

创建一个多维数组,其中包含运输公司可能用于确定箱体容量的几个框的度量单位(以英寸为单位)。我无法访问我其实想要。我只需要从长度和深度中多取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

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]; 
    } 
+0

我很感激,我认为foreach语法中有一个错误,就是php在说什么。另外主要目标是能够获得表格中的整数,并将每个盒子大小的整数倍数。 – Doobie2012

+0

编辑答案...目前无法测试代码 – Gavin

+0

我编辑我的代码,也谢谢你,即时通讯使用2 foreach循环idk如果这是正确的,但其工作。 – Doobie2012