嵌套的foreach循环

嵌套的foreach循环

我的代码有问题,它有两个嵌套的foreach循环:

$message = mysqli_query($mysqli, "SELECT * FROM messages where pseudo ='".$Pseudo."'");

while ($data = mysqli_fetch_assoc($message)) {
     $items[] = $data;
}

$items = array_reverse($items ,true);

foreach($items as $item) {
         echo"".$item['msg']."";
         $commentaires = mysqli_query($mysqli, "SELECT * FROM commentaires where msg ='".$item['msg']."' and profil ='".$item['pseudo']."'");

         while($row = $commentaires->fetch_array()) {
              $rows[] = $row;
         }

         foreach($rows as $row) {
              $abc = $row[0];$commen = $row[3];
              echo "$abc : $commen";
         }
}


因此,我在“邮件”中有2个条目,“评论员”中有4个条目,“邮件”中的2个条目是第一个条目,第二个条目是2个条目。我要那个 :

message1
-评论员1
-评论员2

message2
-评论员3
-评论员4

这就是我所拥有的:

message1
-评论员1
-评论员2

message2
-评论员1
-评论员2
-评论员3
-评论员4

我已经搜索了2个小时,但我在mysqli中没有找到解决方案:(
(当我做

mysqli_data_seek($ commentaires,0);

不会改变任何东西)
对不起,我的英语不好:c

最佳答案

我很确定这:

while($row = $commentaires->fetch_array()){$rows[] = $row;}


将行追加到现有数组。
这意味着如果您希望它按书面形式工作,则必须在向其添加新数据之前清除$ rows。

我不是PHP鲨鱼,但我确实相信

unset($rows);


会做到的

关于php - 错误嵌套的foreach循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33940782/

10-11 04:56