Heim > Backend-Entwicklung > PHP-Tutorial > Warum speichert mein Code nur die letzte Zeile der Textdatei im Array und nicht alle Zeilen?

Warum speichert mein Code nur die letzte Zeile der Textdatei im Array und nicht alle Zeilen?

DDD
Freigeben: 2024-10-29 03:09:02
Original
771 Leute haben es durchsucht

Why does my code only store the last line of the text file in the array, instead of all lines?

Textdateizeilen in Array-Elemente einlesen

Frage:

In diesem Codeausschnitt für Lesen einer Textdatei Zeile für Zeile in ein Array:

<code class="php">$file = fopen("members.txt", "r");
while (!feof($file)) {
  $line_of_text = fgets($file);
  $members = explode('\n', $line_of_text);
}
fclose($file);</code>
Nach dem Login kopieren

Warum enthält das $members-Array nur die letzte Zeile der Textdatei und nicht ein Element für jede Zeile?

Antwort:

Der bereitgestellte Code liest Zeilen aus der Textdatei korrekt, es tritt jedoch ein Problem beim Erstellen des Zeilenarrays auf. Wenn Sie „explosive('n', $line_of_text)“ innerhalb der Schleife verwenden, wird das $members-Array in jeder Iteration überschrieben und letztendlich nur die letzte Zeile gespeichert.

Um dieses Problem zu beheben, verwenden Sie stattdessen die Dateifunktion:

<code class="php">$lines = file($filename, FILE_IGNORE_NEW_LINES);</code>
Nach dem Login kopieren

Diese Funktion erstellt direkt ein Array, in dem jedes Element eine Zeile aus der Textdatei darstellt. Durch die Verwendung von FILE_IGNORE_NEW_LINES wird das Newline-Zeichen in jeder Zeile übersprungen, um sicherzustellen, dass das Array nur den Zeileninhalt enthält.

Das obige ist der detaillierte Inhalt vonWarum speichert mein Code nur die letzte Zeile der Textdatei im Array und nicht alle Zeilen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage