2014-02-18 1 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 

그리고이 I가 한 일을 지금에 : 당신은 아마 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>'; 
} 

이를 사용하여,이 같은 배열에 foreach 문을 사용할 수

<?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 확인 수정 된 답변보기 –

+0

Thank Bro. 그것의 일 벌금. – user3312802

0

당신이 묘사 한 것처럼 표의 몸체를 출력해야합니다. 배열 배열이 있습니다. 위의 코드는 $itemss의 모든 항목을 통해 개별 배열을 하나씩 읽고 $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; 
?>