[英]foreach multidimensional array php
從我的問題
這是源代碼
<table>
<tr>
<th>No</th>
<th>Name</th>
<th>Month</th>
<th>Total</th>
</tr>
$no=1;
while($row = mysqli_fetch_assoc($sql2))
{
$CATEGORY[$row['NAME']][]=$row['MONTH'];
}
$old = 0;
foreach($CATEGORY as $key => $CATEGORY)
{
foreach($CATEGORY as $CODE)
{
echo "<tr>";
if($old == 1)
{
echo "<td></td>
<td></td>";
}
else
{
echo "<td>".$no."</td>
<td>".$key."</td>";
$old = 1;
}
echo "<td>";
echo $CODE."<br>";
echo "</td><td></td></tr>";
}
$old = 0;
$no=$no+1;
}
echo '</table>';
如果我想顯示總值,並出現在總計列中如何添加到foreach
ex 中的數組: $row['TOTAL']
我現在明白了。
<table>
<tr>
<th>No</th>
<th>Name</th>
<th>Month</th>
<th>Total</th>
</tr>
<?php
while($row = mysqli_fetch_assoc($sql2))
{
$CATEGORY[]=['id_month' => $row['id_month'], 'name' => $row['name'], 'month' => $row['month'], 'total' => $row['total'];
}
foreach($CATEGORY as $key => $val) {
echo '<tr>';
echo '<td>'.$val['id_month'].'</td>';
echo '<td>'.$val['name'].'</td>';
echo '<td>'.$val['month'].'</td>';
echo '<td>'.$val['total'].'</td>';
echo '</tr>';
}
?>
</table>
您需要遍歷數組來計算總計,每次迭代都將值添加到初始總計變量中。
$data = [
['id' => 1,'cost' => 10],
['id' => 1,'cost' => 10],
['id' => 1,'cost' => 10]
];
$total = 0;
foreach($data as $key => $value){
$total +=$value['cost'];
}
echo $total; // 30
這是您計算總數的方式,或者您也可以在查詢中進行計算。 只需適應您的需求,它就會解決您的問題,您就快到了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.