Heim > Backend-Entwicklung > PHP-Tutorial > Warum erzeugt meine PHP-Schleife „while (!feof())' eine unvollständige Ausgabe?

Warum erzeugt meine PHP-Schleife „while (!feof())' eine unvollständige Ausgabe?

Barbara Streisand
Freigeben: 2024-12-08 20:18:14
Original
882 Leute haben es durchsucht

Why Does My PHP `while (!feof())` Loop Produce Incomplete Output?

PHP-Schleife: Unvollständige Ausgabe mit while (!feof()) auflösen

In PHP kann es vorkommen, dass eine Schleife while verwendet (!feof()) gibt nicht den gesamten erwarteten Inhalt aus. Dieses Problem kann durch eine falsche Platzierung der EOF-Prüfung innerhalb der Schleife entstehen, wie ein Benutzer zeigt, der versucht, eine gesamte TXT-Datei zu lesen und wiederzugeben.

Der Originalcode:

$handle = fopen("item_sets.txt", "r");

while (!feof($handle)) {
    $buffer = fgets($handle, 4096);
    $trimmed = trim($buffer);
    echo $trimmed;
}
Nach dem Login kopieren

In diesem Code wird die Prüfung auf EOF vor der Ausgabe des gelesenen Inhalts platziert. Infolgedessen wird die Schleife beendet und stoppt das Lesen der Datei, bevor die letzte Zeile vollständig gedruckt ist.

Die Lösung besteht darin, die EOF-Prüfung in den Lesevorgang einzubinden:

$handle = fopen("item_sets.txt", "r");

while (($buffer = fgets($handle, 4096)) !== false) {
    $trimmed = trim($buffer);
    echo $trimmed;
}
Nach dem Login kopieren

Durch Verschieben der EOF prüft den Zustand der while-Schleife. Der Code stellt sicher, dass die Schleife weiterhin Zeilen liest und druckt, bis das Ende der Datei erreicht ist.

Das obige ist der detaillierte Inhalt vonWarum erzeugt meine PHP-Schleife „while (!feof())' eine unvollständige Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage