Maison > développement back-end > tutoriel php > Pourquoi mon code stocke-t-il uniquement la dernière ligne du fichier texte dans le tableau, au lieu de toutes les lignes ?

Pourquoi mon code stocke-t-il uniquement la dernière ligne du fichier texte dans le tableau, au lieu de toutes les lignes ?

DDD
Libérer: 2024-10-29 03:09:02
original
763 Les gens l'ont consulté

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

Lecture des lignes de fichiers texte dans les éléments du tableau

Question :

Dans cet extrait de code pour lire un fichier texte ligne par ligne dans un tableau :

<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>
Copier après la connexion

Pourquoi le tableau $members ne contient-il que la dernière ligne du fichier texte, plutôt qu'un élément pour chaque ligne ?

Réponse :

Le code fourni lit correctement les lignes du fichier texte mais rencontre un problème lors de la création du tableau de lignes. L'utilisation d'exploser('n', $line_of_text) dans la boucle écrase le tableau $members à chaque itération, ne stockant finalement que la dernière ligne.

Pour résoudre ce problème, utilisez plutôt la fonction file :

<code class="php">$lines = file($filename, FILE_IGNORE_NEW_LINES);</code>
Copier après la connexion

Cette fonction crée directement un tableau où chaque élément représente une ligne du fichier texte. L'utilisation de FILE_IGNORE_NEW_LINES ignore le caractère de nouvelle ligne de chaque ligne, garantissant que le tableau ne contient que le contenu de la ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal