雅安论坛

标题: 请教关于在PHP 中foreach嵌套if else的时候 else所有数据都出来了,在while中嵌套了 [打印本页]

作者: 匿名    时间: 2020-6-4 12:50
标题: 请教关于在PHP 中foreach嵌套if else的时候 else所有数据都出来了,在while中嵌套了
请教关于在PHP 中foreach嵌套if else的时候 else所有数据都出来了,和平时if else不一样的问题,我是在一个while中,嵌套了foreach,代码如下,请站长帮助下,多谢
  1. while($row=mysqli_fetch_assoc($rs)){
  2.                       echo "<tr>";
  3.                       echo '<td>'.$row['id'].'</td>';
  4.                       echo '<td>'.$row['name'].'</td>';
  5.                     foreach ($fl as $v){
  6.                      if (($v['id']==$row['flid'])){
  7.                         echo '<td>'.$v['name'].'</td>';
复制代码
单数输出与的结果是所有else都有了,请不忙帮看看,多谢

作者: 未命名    时间: 2020-6-4 13:00
这个问题可以换一个思维来解决,在外层有一个while循环,现在问题出在了else必须全部跑完数组,才能else,所有问题出在这里,解决这个问题就好了
  1. while($row=mysqli_fetch_assoc($rs)){
  2.                       echo "<tr>";
  3.                       echo '<td>'.$row['id'].'</td>';
  4.                       echo '<td>'.$row['name'].'</td>';
  5.               
  6.                     foreach ($fl as $v){

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

  8.                         echo '<td>'.$v['name'].'</td>';
  9.                         $exist = true;
  10.                           break;
  11.                        }
  12. }

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

  15.                       }
复制代码
重点在第一个if中传入$exist = true;这个值,在外面的时候判断是否存在,不存在的话就else就可以,我感觉应该是这样的吧,你在试试呢





欢迎光临 雅安论坛 (https://www.yaanbbs.net/) Powered by Discuz! X3.4