。我今天看到一个PHP while
循环的例子,我不太明白。需要帮助了解一个PHP示例,而每个人都需要
// Open XML file
$fp=fopen("note.xml","r");
// Read data
while ($data=fread($fp,4096)) { // Line about which I have questions
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
的while
环路括号内的表达式$data=fread($fp,4096)
似乎没有任何改动。这只是一个赋值语句。这个循环如何结束? 解析完成后,函数xml_parse($parser,$data,feof($fp))
可能会结束,但我不明白它将如何影响while
循环的测试条件。我觉得XML文件的解析会无限重复。
也时有赋值表达式作为一个循环的测试条件下,我们是否真的只是想看看是否转让收益TRUE
或FALSE
的RIGHT侧,以确定是否结束循环?我对此持怀疑态度,因为这样会产生一个无限循环,因为$data
一旦被分配,将总是返回TRUE
。
感谢
当fread到达文件结尾时,它将返回null到$ data并且它变为false,因此while循环将停止 – SIDU