当前位置:Gxlcms > PHP教程 > 菜鸟对while的一点疑惑

菜鸟对while的一点疑惑

时间:2021-07-01 10:21:17 帮助过:3人阅读

初学者对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<=30)
{echo $a;
$a++}
?>
上面这个和$row 有什么区别吗?不也是一次先判断在输出,然后接着判断在输出?最后直到条件不成立,就不输出了。可为什么$row 只输出一次?$row 的条件就是$res 里面没有记录了,他就不再循环了。。是不是我对while理解不对?
我一直理解为只要while条件里面为真就会循环一次代码块,可从$row里面好像是都循环完了才输出?

------解决思路----------------------
至少你的观察是很不仔细的
while ($row=$res->fetch_row())
return $row;
只会返回第一条记录,而不是其他

人气教程排行