Boucle while
Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 48 sur 71.
Alors que la boucle for fonctionne très bien lorsque vous connaissez le nombre exact d'itérations, la boucle while est parfaite lorsque vous voulez continuer à boucler jusqu'à ce qu'une condition devienne fausse.
Une boucle while vérifie sa condition avant chaque itération. Si la condition est vraie, le code à l'intérieur s'exécute. Cela continue jusqu'à ce que la condition devienne fausse.
<?php
$count = 1;
while ($count <= 3) {
echo "Count: $count\n";
$count++;
}
?>Cela produit :
Count: 1
Count: 2
Count: 3La boucle commence par vérifier si $count <= 3. Comme c'est vrai, le code s'exécute et incrémente $count. Quand $count atteint 4, la condition échoue et la boucle s'arrête.
Important : Assurez-vous toujours que quelque chose à l'intérieur de la boucle rende finalement la condition fausse. Sinon, vous créerez une boucle infinie qui ne s'arrête jamais.
<?php
$total = 0;
$num = 1;
while ($total < 10) {
$total += $num;
$num++;
}
echo $total;
?>Cela continue à ajouter des nombres jusqu'à ce que le total atteigne ou dépasse 10, puis affiche la valeur finale.
Défi
FacileLisez un entier unique depuis l'entrée représentant une somme cible.
Utilisez une boucle while pour additionner des nombres consécutifs à partir de 1 (1, 2, 3, 4, ...) jusqu'à ce que le total atteigne ou dépasse la somme cible.
Affichez le total final sur la première ligne, et le dernier nombre ajouté sur la seconde ligne.
Exemple 1 :
Si l'entrée est 10, la sortie devrait être :
10
4(1 + 2 + 3 + 4 = 10, ce qui atteint la cible)
Exemple 2 :
Si l'entrée est 15, la sortie devrait être :
15
5(1 + 2 + 3 + 4 + 5 = 15)
Exemple 3 :
Si l'entrée est 7, la sortie devrait être :
10
4(1 + 2 + 3 + 4 = 10, ce qui dépasse 7)
Aide-mémoire
Une boucle while vérifie une condition avant chaque itération et continue de s'exécuter jusqu'à ce que la condition devienne fausse.
Syntaxe de base :
<?php
$count = 1;
while ($count <= 3) {
echo "Count: $count\n";
$count++;
}
?>La boucle vérifie si $count <= 3 avant chaque itération. Lorsque la condition devient fausse, la boucle s'arrête.
Important : Assurez-vous toujours que quelque chose à l'intérieur de la boucle rende finalement la condition fausse pour éviter les boucles infinies.
Exemple avec accumulation :
<?php
$total = 0;
$num = 1;
while ($total < 10) {
$total += $num;
$num++;
}
echo $total;
?>Essayez vous-même
<?php
// Lire la somme cible
$target = intval(fgets(STDIN));
// Initialiser les variables
$total = 0;
$num = 0;
// TODO: Écrivez votre code ici
// Utiliser une boucle while pour ajouter des nombres consécutifs (1, 2, 3, ...)
// jusqu'à ce que le total atteigne ou dépasse la cible
// Afficher le total final et le dernier nombre ajouté
echo $total . "\n";
echo $num;
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators