簡體   English   中英

foreach多維數組php

[英]foreach multidimensional array php

從我的問題

表格布局 - foreach

這是源代碼

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM