PHP 关于while循环

<?php
header ( 'Content-type: text/html; charset=utf-8' );
$link = @mysqli_connect ( 'localhost', 'root', '123', '' );

mysqli_select_db($link, 'd1');
$query='select * from t1';
$result=mysqli_query($link, $query);
while($data=mysqli_fetch_row($result)){
    var_dump($data);
}
mysqli_close($link);
?>

在这个while循环中,我这样写:

$data=mysqli_fetch_row($result);
while($data){
    ...
}

为什么浏览器崩溃?
请各位老师指教,多谢!

阅读 2.6k
2 个回答

主要是当把一个函数通过等号赋值给一个变量时,这个变量并不等于此函数,而是等于此函数的返回值(匿名函数除外),所以$data并不等于mysqli_fetch_row而是为它的返回值,也就是第一条的数据,如果此时第一条不为空,则while条件为真,一直循环。

用你的大脑当CPU来执行啊.

你有循环没退出条件, 就是无限循环, 无限循环, 当然要崩.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题