Boucles while
Les boucles while sont de simples blocs qui s'exécutent de façon répétée jusqu'à ce que la condition de la boucle while ne soit plus remplie.
Voici un exemple de boucle qui est exécutée au total 10 fois :
$counter = 0;
while ($counter < 10) {
$counter += 1;
echo "Execution - counter vaut $counter.\n";
}
La différence principale entre les boucles for et les boucles while est que les boucles for sont utilisées pour itérer sur un tableau ou un objet, et les boucles while s'exécuteront un nombre de fois inconnue, qui dépend de consitions variables (par exemple, jusqu'à ce qu'un utilisateur ait saisi une entrée correcte).
Instructions de contrôle
Les boucles peuvent être contrôlées en utilisant les instructions de
contrôle de flot break
et continue
, qui s'avèrent très pratiques dans
les boucles while. L'instruction break
quitte immédiatement la
boucle for au milieu du bloc, alors que l'instruction continue
revient au sommet de la boucle while
, en re-vérifiant si la
condition de boucle est remplie également.
L'instruction continue
Utilisons l'exemple précédent, mais cette fois, ajoutons une vérification pour voir si le nombre est pair. S'il l'est, on le sautera, de façon à ce que seuls les nombres impairs soient affichés.
$counter = 0;
while ($counter < 10) {
$counter += 1;
if ($counter % 2 == 0) {
echo "On saute $counter qui est un numéro pair.\n";
continue;
}
echo "Execution - counter vaut $counter.\n";
}
L'instruction break
Supposons que nous voulions ajouter un autre test qui vérifie si la variable counter n'est pas plus grande que 8. Si elle l'est, on souhaiterait arrêter la boucle. Cela entrainera que le nombre 9 n'est pas affiché, dans cet exemple.
$counter = 0;
while ($counter < 10) {
$counter += 1;
if ($counter > 8) {
echo "counter est plus grand que 8, on arrête la boucle.\n";
break;
}
if ($counter % 2 == 0) {
echo "On saute $counter qui est un numéro pair.\n";
continue;
}
echo "Execution - counter vaut $counter.\n";
}
Exercise
Utilisez une boucle while
pour afficher tous les nombres impairs
d'un tableau. Utilisez l'instruction continue
pour sauter les
boucles et éviter d'afficher les nombres pairs.
Souvenez-vous - vous avez besoin de la séquence de caractères \n
à
la fin des instructions echo pour continuer sur la ligne suivante.
Astuce: pour tester si un nombre est pair, vérifiez si le nombre modulo 2 est égal à 0 ($number % 2 == 0).