2016-02-28 68 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