Home  >  Article  >  Backend Development  >  菜鸟对while 的一点疑惑

菜鸟对while 的一点疑惑

WBOY
WBOYOriginal
2016-06-13 12:09:54901browse

初学者对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;
只会返回第一条记录,而不是其他
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn