Anonymous 发表于 2020-6-4 12:50:21

请教关于在PHP 中foreach嵌套if else的时候 else所有数据都出来了,在while中嵌套了

请教关于在PHP 中foreach嵌套if else的时候 else所有数据都出来了,和平时if else不一样的问题,我是在一个while中,嵌套了foreach,代码如下,请站长帮助下,多谢
while($row=mysqli_fetch_assoc($rs)){
                      echo "<tr>";
                      echo '<td>'.$row['id'].'</td>';
                      echo '<td>'.$row['name'].'</td>';
                  foreach ($fl as $v){
                     if (($v['id']==$row['flid'])){
                        echo '<td>'.$v['name'].'</td>';单数输出与的结果是所有else都有了,请不忙帮看看,多谢

未命名 发表于 2020-6-4 13:00:59

这个问题可以换一个思维来解决,在外层有一个while循环,现在问题出在了else必须全部跑完数组,才能else,所有问题出在这里,解决这个问题就好了
while($row=mysqli_fetch_assoc($rs)){
                      echo "<tr>";
                      echo '<td>'.$row['id'].'</td>';
                      echo '<td>'.$row['name'].'</td>';
            
                  foreach ($fl as $v){

                     if (($v['id']==$row['flid'])== ture){

                        echo '<td>'.$v['name'].'</td>';
                        $exist = true;
                        break;
                     }
}

if(!$exist) {
   echo '<td>'.'未分类'.'</td>';

                      }重点在第一个if中传入$exist = true;这个值,在外面的时候判断是否存在,不存在的话就else就可以,我感觉应该是这样的吧,你在试试呢
页: [1]
查看完整版本: 请教关于在PHP 中foreach嵌套if else的时候 else所有数据都出来了,在while中嵌套了