PHP 循環:使用while (!feof()) 解決不完整輸出
在PHP 中,您可能會遇到循環使用while 的情況(!feof()) 不會輸出所有預期的內容。此問題可能是由於循環中 EOF 檢查的位置不正確而引起的,如使用者嘗試讀取和回顯整個 .txt 檔案所示。
原始程式碼:
$handle = fopen("item_sets.txt", "r"); while (!feof($handle)) { $buffer = fgets($handle, 4096); $trimmed = trim($buffer); echo $trimmed; }
這段程式碼中,對EOF的檢查是在輸出讀取內容之前進行的。結果,在最後一行完全列印之前,循環退出並停止讀取檔案。
解決方案包括在讀取過程中合併EOF 檢查:
$handle = fopen("item_sets.txt", "r"); while (($buffer = fgets($handle, 4096)) !== false) { $trimmed = trim($buffer); echo $trimmed; }
透過移動EOF 檢查while 循環的條件,程式碼確保循環繼續讀取和列印行,直到到達文件末尾。
以上是為什麼我的 PHP `while (!feof())` 迴圈產生不完整的輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!