猿问

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){
    ...
}

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

江户川乱折腾
浏览 349回答 2
2回答

万千封印

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

Qyouu

用你的大脑当CPU来执行啊. 你有循环没退出条件, 就是无限循环, 无限循环, 当然要崩.
随时随地看视频慕课网APP
我要回答