Table des matières:
Vidéo: #9 - Les boucles en PHP pour les nuls 2025
La boucle while est le moyen principal, autre qu'une boucle for, de répéter le code en PHP. En tant que programmeur HTML5 et CSS3, il peut arriver que vous choisissiez l'un plutôt que l'autre, mais il est important de comprendre les différences entre les deux.
alors que les boucles ressemblent beaucoup aux boucles. Ils requièrent la même réflexion:
-
Une variable de sentinelle: Cette variable spéciale contrôle l'accès à la boucle. Contrairement à l'int généralement utilisé dans les boucles, la sentinelle d'une boucle while peut être de n'importe quel type.
-
Initialisation: Définissez la valeur initiale de la variable de sentinelle avant le début de la boucle. Ne comptez pas sur les paramètres par défaut (parce que vous ne savez pas ce qu'ils seront). Au lieu de cela, définissez cette valeur vous-même.
-
Une condition: L'instruction while nécessite une condition. Cette condition contrôle l'accès à la boucle. Tant que la condition est vraie, la boucle continue. Dès que la condition est évaluée comme fausse, la boucle se termine.
-
Un modificateur: Vous devez modifier la valeur de la variable de sentinelle. Il est important que la déclaration de modification se trouve quelque part dans la boucle. Dans une boucle for, vous ajoutez ou soustrayez presque toujours pour modifier une variable. Dans une boucle while, n'importe quel type d'instruction d'affectation peut être utilisé pour modifier la variable.
Les boucles for sont un peu plus sûres que les boucles while car la structure de la boucle nécessite de penser à l'initialisation, à la condition et à la modification. Les trois fonctionnalités sont intégrées dans l'instruction for. L'instruction while nécessite uniquement la condition. Cela pourrait vous faire penser que vous n'avez pas besoin des autres parties, mais ce serait dangereux.
Dans n'importe quel type de boucle, vous devez initialiser la variable sentinelle et modifier sa valeur. Avec la boucle while, vous êtes responsable de l'ajout de ces fonctionnalités. Ne pas le faire provoquera des boucles sans fin, ou des boucles qui n'arrivent jamais.
Regardez le code suivant pour le moment. programme php pour voir comment cela fonctionne:
while. php img {hauteur: 40px; width: 50px;}Dice Rolling Game 2
Bienvenue dans le jeu de dés. Voyez combien de rouleaux il faut pour obtenir un six!
php $ userNumber = 999; $ counter = 0; while ($ userNumber! = 6) {$ userNumber = rand (1, 6); imprimer <<< ICIICI; $ counter ++;} print "
Il a fallu que $ counter essaye d'obtenir un six.
"; ? >Réessayez!
Cet exemple illustre à quel point les boucles peuvent être subtiles. Tous les éléments clés sont là, mais ils ne ressemblent pas tous à une partie de la boucle while.
-
Initialiser $ userNumber.
Pour cette boucle, $ userNumber est la variable de sentinelle.L'initialisation doit garantir que la boucle s'exécute exactement une fois. Parce que la condition sera ($ userNumber! = 6), vous devez donner à userNumber une valeur qui n'est clairement pas 6. 999 fera le travail, et il est assez sauvage pour être clairement hors de portée.
Bien que l'étape d'initialisation apparaisse dans le code avant la boucle, il est souvent préférable de commencer par votre condition, puis de sauvegarder une ligne à initialiser car l'étape d'initialisation dépend de la condition.
-
Configurez la condition.
Pensez à ce qui devrait provoquer la poursuite ou l'arrêt de la boucle. Rappelez-vous que la condition explique quand la boucle continue. Il est souvent plus facile de penser à ce qui provoque la sortie de la boucle. C'est très bien; il suffit de l'inverser. Par exemple, si vous voulez que la boucle se ferme quand $ userNumber est égal à 6, alors vous l'aurez aussi longtemps que $ userNumber! = 6.
-
Modifier la sentinelle.
Celui-ci est difficile. Dans cet exemple particulier, modifiez la variable sentinelle en obtenant un nouveau nombre aléatoire: $ userNumber = rand (1, 6). Souvent dans une boucle while, l'étape de modification est intrinsèque au problème que vous résolvez. Parfois, vous obtenez la nouvelle valeur de l'utilisateur, parfois vous l'obtenez à partir d'un fichier ou d'une base de données, ou parfois vous ajoutez simplement (tout comme une boucle for).
La clé ici est de vous assurer que vous avez une instruction qui modifie la variable de sentinelle et que la condition peut déclencher. Par exemple, l'utilisation de $ userNumber = rand (1, 5) entraînerait une boucle sans fin car $ userNumber ne pourrait jamais être 6.
alors que les boucles peuvent causer beaucoup de problèmes car elles peuvent causer des erreurs logiques. Autrement dit, la syntaxe (structure et orthographe du code) peut être correcte, mais le programme ne fonctionne toujours pas correctement. Presque toujours, le problème peut être résolu en pensant aux trois parties d'une boucle bien conduite: Initialiser la sentinelle, créer une condition significative et modifier la sentinelle de façon appropriée.
