La boucle "for" en PHP
Apprenez la boucle PHP "for" : initialisation, condition, incrément — compter, itérer sur un array, imbriquer des boucles, break et continue.
En PHP, l'instruction for est une structure de contrôle qui exécute un bloc de code un nombre de fois connu à l'avance. On l'utilise dès que le nombre d'itérations est fixe et prévisible — afficher les nombres de 1 à 10, construire un tableau HTML à N lignes, ou parcourir un array indexé par position.
Ce chapitre couvre les trois parties d'une boucle for, leur ordre d'exécution, et des modèles pratiques : compter vers le haut et vers le bas, des pas personnalisés, parcourir des arrays, imbriquer des boucles, et les mots-clés break / continue.
Syntaxe
Une boucle for est composée de trois expressions entre parenthèses, séparées par des points-virgules, suivies du corps de la boucle entre accolades :
for (initialization; condition; increment) {
// code to be executed on each pass
}Les trois expressions s'exécutent dans un ordre précis :
- L'initialisation s'exécute une seule fois, avant le démarrage de la boucle — elle définit généralement un compteur.
- La condition est vérifiée avant chaque itération. Tant qu'elle est
true, le corps s'exécute ; lorsqu'elle devientfalse, la boucle s'arrête. - L'incrément s'exécute après chaque itération, juste avant que la condition soit vérifiée à nouveau — il fait généralement avancer le compteur.
Initialisation
L'initialisation définit la valeur de départ du compteur. Elle s'exécute une seule fois au tout début. Pour commencer à compter à 1 :
$counter = 1;Condition
La condition détermine quand s'arrêter. La boucle continue de s'exécuter tant que la condition est vraie. Pour boucler tant que le compteur est inférieur ou égal à 10 :
$counter <= 10;Si la condition est false dès la première vérification, le corps ne s'exécute jamais.
Incrément
L'incrément modifie le compteur après chaque passage afin que la boucle se termine. Pour ajouter 1 à chaque fois :
$counter++;Si l'incrément ne rend jamais la condition fausse, vous obtenez une boucle infinie. Assurez-vous que le compteur progresse vers la condition d'arrêt.
Un exemple de comptage complet
En assemblant les trois parties, cette boucle affiche la valeur de $counter à chaque passage, de 1 à 10 :
Le code ci-dessus produit la sortie suivante :
1 2 3 4 5 6 7 8 9 10 (Sans le . " ", echo afficherait les chiffres sans espace — 12345678910 — car echo n'ajoute rien entre les valeurs.)
Compter à rebours et pas personnalisés
L'incrément est simplement une expression, il peut donc décrémenter ou progresser par pas autres que 1. Pour compter à rebours de 10 à 1, partez de haut, arrêtez-vous à 1, et utilisez $i-- :
<?php
for ($i = 10; $i >= 1; $i--) {
echo $i . " ";
}
?>Pour avancer de 2 en 2 (en affichant les nombres pairs jusqu'à 10), utilisez $i += 2 :
<?php
for ($i = 2; $i <= 10; $i += 2) {
echo $i . " "; // 2 4 6 8 10
}
?>Parcourir un array
Une boucle for peut parcourir un array indexé par position. La condition utilise count() pour connaître le nombre d'éléments, et $i est utilisé comme indice du array :
Le code ci-dessus produit la sortie suivante :
apple
banana
cherryNotez que la boucle commence à 0 (les arrays PHP sont indexés à zéro) et que la condition est $i < count($fruits) — on utilise < plutôt que <= car le dernier indice valide est count - 1.
Pour les arrays — en particulier les arrays associatifs dont les clés ne sont pas des entiers séquentiels — la boucle foreach est généralement plus claire et plus sûre qu'une boucle for, car vous n'avez pas à gérer un indice manuellement.
Boucles imbriquées
Vous pouvez placer une boucle for à l'intérieur d'une autre. La boucle interne s'exécute entièrement pour chaque passage de la boucle externe. C'est courant pour les grilles, les tableaux et les sorties de type multiplication :
<?php
for ($row = 1; $row <= 3; $row++) {
for ($col = 1; $col <= 3; $col++) {
echo $row * $col . "\t";
}
echo "\n";
}
?>Cela affiche une grille de multiplication 3×3 :
1 2 3
2 4 6
3 6 9 Interrompre et sauter des itérations
Deux mots-clés vous donnent un contrôle plus fin à l'intérieur du corps de la boucle :
breakarrête la boucle immédiatement et continue avec le code qui la suit.continuesaute le reste de l'itération en cours et passe à la suivante (l'incrément s'exécute quand même).
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i == 4) {
continue; // skip 4
}
if ($i == 7) {
break; // stop entirely at 7
}
echo $i . " ";
}
?>Le code ci-dessus produit la sortie suivante :
1 2 3 5 6 4 est ignoré par continue, et la boucle s'arrête avant d'afficher 7 à cause de break. Pour en savoir plus, consultez le chapitre break et continue.
Quand utiliser for plutôt qu'une autre boucle
- Utilisez
forlorsque vous connaissez le nombre d'itérations à l'avance, ou lorsque vous avez besoin d'un compteur / indice. - Utilisez
foreachpour itérer sur les éléments d'un array ou d'un objet sans gérer un indice. - Utilisez
whilelorsque vous bouclez jusqu'à ce qu'une condition change et qu'il n'y a pas de compteur naturel. - Utilisez
do...whilelorsque le corps doit s'exécuter au moins une fois avant que la condition soit vérifiée.
Conclusion
La boucle for est une structure de contrôle essentielle en PHP pour répéter du code un nombre de fois connu. Maîtrisez ses trois parties — initialisation, condition et incrément — et vous pourrez compter vers le haut ou vers le bas, avancer par n'importe quel pas, parcourir des arrays par indice et imbriquer des boucles pour construire des grilles. Pour itérer sur les éléments d'un array, préférez foreach ; pour une répétition indéfinie, tournez-vous vers while.