Php foreach多维数组

Php foreach多维数组,php,mysql,arrays,foreach,Php,Mysql,Arrays,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

从我的问题

这是源代码

<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']中的total how to add to the array(如何添加到数组中)列中出现,则需要在数组中循环以计算总值,每次迭代都将值添加到初始total变量中

$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
这是计算总数的方法,也可以在查询中进行计算。 只要适应你的需要,它就会解决你的问题,你就快到了

我现在明白了

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

您可以打印r$类别吗?并将结果显示给meArray[0]=>Sept我在使用print时给我$row的结果后放在末尾[id\U name]=>1[id\U name]=>1[id\u month]=>8[id\u month]=>8[name]=>John[month]=>August Array[id\u name]=>2[id\u month]=>9[id\u month]=>9[name]=>Adam[month]=>那么您想制作一个表来显示用户的姓名和日期吗?可能您的数据库中有两个姓名。是的,它将重复。请尝试观察数据库中的数据。他们有相同的名字。是的,在db有重复的…但我只想显示一次名字…在我的代码…它只显示一次名字。。。。