首页  >  文章  >  后端开发  >  菜鸟对while 的一点疑惑

菜鸟对while 的一点疑惑

WBOY
WBOY原创
2016-06-13 12:09:54867浏览

初学者对while 的一点疑惑

本帖最后由 yinjie_1984 于 2014-11-15 07:40:04 编辑 function dql($sql)
         {
             $res=$this->mysqli->query($sql);
             if(!empty($res))
             {
  
             while ($row=$res->fetch_row())
         
             return $row;
             $res->free_result();
             }else 
             {return null;}
            }
  我现在不明白他为什么只返回一条语句?查询到的结果有很多,while里面只要是真他就返回一条语句,可是为什么他只返回最后一条语句?
$a=20;
while($a{echo $a;
$a++}
?>
上面这个和$row 有什么区别吗?不也是一次先判断在输出,然后接着判断在输出?最后直到条件不成立,就不输出了。可为什么$row 只输出一次?$row 的条件就是$res 里面没有记录了,他就不再循环了。。是不是我对while理解不对?
我一直理解为只要while条件里面为真就会循环一次代码块,可从$row里面好像是都循环完了才输出?

------解决思路----------------------
至少你的观察是很不仔细的
while ($row=$res->fetch_row())
   return $row;
只会返回第一条记录,而不是其他
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn