这段代码如何运作?

时间:2016-07-12 14:20:51

标签: php

我正在浏览Head First PHP,并且我在PHP中找到了这段代码。

它应该显示包含first_name,last_name和email的表中的每一行记录。

while($row = mysqli_fetch_array($result)) 
{
    echo $row['first_name'] . ' ' . $row['last_name'] .
    ' : ' . $row['email'] . '<br />';
}

$row数组包含mysqli_fetch_array()获取的下一行。但这是一个由while循环检查的条件?在运行内部代码之前,while循环的确切评估为true / false?当行耗尽时,为什么循环会停止?甚至没有检查EOF的条件!那究竟是如何运作的?

1 个答案:

答案 0 :(得分:1)

参考PHP Documenation,mysqli_fetch_array()“返回与获取的行对应的字符串数组,如果结果集中没有更多行,则返回NULL。”因此,当没有更多结果时,它返回null,其值为false并结束循环。