Maison > développement back-end > tutoriel php > Pourquoi ma boucle PHP `while (!feof())` produit-elle une sortie incomplète ?

Pourquoi ma boucle PHP `while (!feof())` produit-elle une sortie incomplète ?

Barbara Streisand
Libérer: 2024-12-08 20:18:14
original
892 Les gens l'ont consulté

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

Boucle PHP : résolution d'une sortie incomplète avec while (!feof())

En PHP, vous pouvez rencontrer des situations où une boucle utilisant while (!feof()) ne génère pas tout le contenu attendu. Ce problème peut survenir en raison d'un placement incorrect de la vérification EOF dans la boucle, comme démontré par un utilisateur essayant de lire et de faire écho à un fichier .txt entier.

Le code d'origine :

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

while (!feof($handle)) {
    $buffer = fgets($handle, 4096);
    $trimmed = trim($buffer);
    echo $trimmed;
}
Copier après la connexion

Dans ce code, la vérification de l'EOF est effectuée avant de sortir le contenu lu. En conséquence, la boucle se termine et arrête la lecture du fichier avant que la dernière ligne ne soit complètement imprimée.

La solution consiste à intégrer la vérification EOF dans le processus de lecture :

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

while (($buffer = fgets($handle, 4096)) !== false) {
    $trimmed = trim($buffer);
    echo $trimmed;
}
Copier après la connexion

En déplaçant le EOF vérifie l'état de la boucle while, le code garantit que la boucle continue de lire et d'imprimer les lignes jusqu'à ce que la fin du fichier soit atteinte.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal