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 ?
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>
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>
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!