2014-02-18 142 views
0

這是我想要在HTML table中顯示的Array多維數組計算

$itemss =array(
array("name"=>"Blue Pen", "Description"=>"Atlas", "UnitPrice"=>13.50, " AvailableStock "=>200), 
array("name"=>"80 P-Book", "Description"=>"Atlas", "UnitPrice"=>65," AvailableStock "=>100), 
array("name"=>"A4 Paper 500", "Description"=>"Atlas", "UnitPrice"=>500," AvailableStock "=>20), 
array("name"=>"Red Pen", "Description"=>"Atlas", "UnitPrice"=>13.50," AvailableStock "=>256), 
array("name"=>"Back Pen", "Description"=>"Atlas", "UnitPrice"=>13.50," AvailableStock "=>156)); 

輸出結果應該像這樣在表中。

Item Name |Description|Unit Price|Available Stock|Stock Value 

Blue Pen   Atlas  13.50  200   xxxx 


Total Stock Value         |xxxxxx 

這我做了什麼到現在:

<?php 
$itemss =array(
array("name"=>"Blue Pen", "Description"=>"Atlas","UnitPrice"=>13.50,"AvailableStock"=>200), 
array("name"=>"80 P-Book", "Description"=>"Atlas", "UnitPrice"=>65," AvailableStock"=>100), 
array("name"=>"A4 Paper 500","Description"=>"Atlas","UnitPrice"=>500,"AvailableStock"=>20), 
array("name"=>"Red Pen", "Description"=>"Atlas", "UnitPrice"=>13.50,"AvailableStock"=>256), 
array("name"=>"Back Pen", "Description"=>"Atlas", "UnitPrice"=>13.50,"AvailableStock"=>156)); 


?> 
<table border="1"> 
<tr> 
<th>Item Name</th> 
<th>Description</th> 
<th>Unit Price</th> 
<th>Available Stock</th> 
<th>Stock Value</th> 


</tr> 
<?php 
foreach($itemss as $Rockband) 
{ 
echo '<tr>'; 
foreach(array_values($Rockband) as $key => $item) 
{ 
echo "<td>$item</td>"; 

} 
echo '</tr>'; 
} 
?> 
</table> 
+2

什麼問題? – billyonecan

+0

數組中沒有'Stock Value',你的子數組只包含4個元素。 – jeroen

+0

庫存值=單價*有庫存 – user3312802

回答

0
<table border="1"> 
<tr> 
<th>Item Name</th> 
<th>Description</th> 
<th>Unit Price</th> 
<th>Available Stock</th> 
<th>Stock Value</th> 


</tr> 
<?php 
$TotalStockValue = 0; 

foreach($itemss as $Rockband) 
{ 
    echo '<tr>'; 
    foreach($Rockband as $key => $value) 
    { 
     echo "<td>$value</td>"; 
    } 
    $StockValue = ($Rockband["UnitPrice"] * $Rockband["AvailableStock"]); 
    echo '<td>' . $StockValue . '</td>'; 
    echo '</tr>'; 

    $TotalStockValue += $StockValue; 
} 
echo '<tr><td colspan="4">Total Stock Value</td><td>' . $TotalStockValue . '</td></tr>'; 
?> 
</table> 
+0

庫存值=單價*有庫存 – user3312802

+0

@ user3312802 ok查看編輯答案 –

+0

感謝兄弟。它的工作現在很好。 – user3312802

0

也許你可以使用的foreach這樣的陣列上,使用list功能

$total_stock_value = 0; 

foreach($itemss as $one_item) { 
    // map the array values to the variables 
    list($name, $desc, $price, $stock) = $one_item; 
    $stock_val = $price * $stock; 
    $total_stock_value += $stock_val; 

    echo '<tr><td>' . $name . '</td><td>' . $desc . '</td><td>...</td></tr>'; 
} 

這應該打印出一張你喜歡的桌子。你有一個數組的數組。因此,上面的代碼遍歷每個項目$itemss以逐個讀取單個數組到$one_item,並且爲每個數組列出它們列出(或映射,如果你喜歡的話)該子數組$one_item的值到給定變量($name, $desc, ...)。然後,我只是在輸出你的問題描述的格式的變量。

編輯我看到你對Stock ValueTotal Stock Value所以我編輯我的答案更精確。

0

更新你的正確的軌道。但是你不需要使用array_values

<?php 
$totalValue= 0; 
foreach($itemss as $Rockband) 
{ 
    $stockValue = $Rockband["UnitPrice"] * $Rockband["AvailableStock"]; 
    $totalValue += $stockValue; 
    echo '<tr>'; 
    foreach($Rockband as $key => $value) 
    { 
     echo "<td>$value</td>"; 
    } 
    echo "<td>$stockValue</td>"; 
    echo '</tr>'; 
} 

echo $totalValue; 
?>