。我今天看到一個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