PHP - Boucle for

Diagramme de flux de la boucle for

Avant de plonger dans la syntaxe et les exemples, visualisons comment fonctionne une boucle for. Une boucle for est comme un tapis roulant qui avance à travers un ensemble d'instructions. Elle commence par une condition initiale, vérifie si elle satisfait la condition de fin, puis exécute le bloc de code à l'intérieur. Une fois le bloc de code exécuté, elle met à jour le compteur et répète le processus jusqu'à ce que la condition de fin ne soit plus remplie.

PHP - For Loop

st=>start: Début
e=>end: Fin
op1=>operation: Initialiser le compteur
cond=>condition: Vérifier la condition de fin
op2=>operation: Mettre à jour le compteur
op3=>operation: Exécuter le bloc de code
cond2=>condition: La condition de fin est-elle remplie ?
op4=>operation: Non, retourner à op2
op5=>operation: Oui, aller à la fin

st->op1->cond
cond(yes)->op3->op2->cond2
cond2(no)->op4->op2
cond2(yes)->op5->e

Syntaxe de la boucle for

La syntaxe de base d'une boucle for en PHP est comme suit :

for (initialisation; condition; incrémentation/décrémentation) {
// code à exécuter
}
  • Initialisation : C'est là que vous initialisez votre variable compteur.
  • Condition : C'est la condition qui doit être vraie pour que la boucle continue. Si elle est fausse, la boucle s'arrête.
  • Incrémentation/Décrémentation : C'est là que vous mettez à jour votre compteur. Vous pouvez l'augmenter ou le diminuer en fonction de vos besoins.

Exemple

Commençons par un exemple simple qui affiche les nombres de 1 à 5 en utilisant une boucle for.

<?php
for ($i = 1; $i <= 5; $i++) {
echo $i . " ";
}
?>

Dans cet exemple, nous initialisons $i à 1, vérifions si $i est inférieur ou égal à 5, puis incrémentons $i de 1 après chaque itération. L'instruction echo affiche la valeur de $i suivie d'un espace.

Une boucle for infinie

Soyez prudent lors de l'écriture de boucles, car une boucle infinie peut faire planter votre programme ou le rendre non réactif. Voici un exemple de boucle infinie :

<?php
for (;;) {
echo "Cette boucle tournera pour toujours !";
}
?>

Cette boucle n'a pas d'initialisation, de condition ni d'incrémentation/décrémentation, donc elle continuera à s'exécuter indéfiniment. Pour l'arrêter, vous devriez interrompre manuellement l'exécution, par exemple en pressant Ctrl + C dans le terminal.

Une boucle for décrémentante

Une boucle for décrémentante est similaire à une boucle d'incrémentation, mais au lieu d'augmenter le compteur, elle le diminue. Voici un exemple qui décompte de 5 à 1 :

<?php
for ($i = 5; $i >= 1; $i--) {
echo $i . " ";
}
?>

Utilisation de la construction for…endfor

PHP propose également une notation abrégée pour les boucles for en utilisant la construction foreach. Cependant, comme notre focus est sur la boucle for traditionnelle, nous nous en tiendrons à celle-ci pour le moment.

Itération sur un tableau indexé avec une boucle for

Vous pouvez utiliser une boucle for pour itérer sur un tableau indexé, en accédant à chaque élément par son index. Voici un exemple :

<?php
$fruits = array("apple", "banana", "cherry");

for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . " ";
}
?>

Dans cet exemple, nous utilisons la fonction count() pour déterminer le nombre d'éléments dans le tableau $fruits puis itérons sur chaque élément en utilisant son index.

Itération sur un tableau associatif avec une boucle for

Lorsque vous travaillez avec des tableaux associatifs, vous pouvez utiliser une boucle for pour itérer sur les clés et les valeurs. Voici un exemple :

<?php
$students = array(
"Alice" => 25,
"Bob" => 27,
"Charlie" => 22
);

foreach ($students as $name => $age) {
echo "$name a $age ans.<br>";
}
?>

Dans cet exemple, nous utilisons la construction foreach pour itérer sur le tableau associatif $students. La variable $name contient la clé (nom de l'étudiant), et la variable $age contient la valeur (âge de l'étudiant). Nous affichons ensuite le nom et l'âge de chaque étudiant.

Utilisation de boucles for imbriquées en PHP

Parfois, vous pouvez avoir besoin d'utiliser des boucles for imbriquées pour effectuer des tâches plus complexes. Voici un exemple qui affiche un tableau de multiplication :

<?php
for ($i = 1; $i <= 5; $i++) {
for ($j = 1; $j <= 5; $j++) {
echo $i * $j . "\t";
}
echo "<br>";
}
?>

Dans cet exemple, la boucle externe itère sur les lignes (de 1 à 5), et la boucle interne itère sur les colonnes (également de 1 à 5). Le produit des numéros de ligne et de colonne est affiché, créant un tableau de multiplication.

Voilà pour notre introduction aux boucles for en PHP ! Souvenez-vous, la pratique rend parfait, donc essayez d'écrire du code et expérimentez avec différents scénarios. Bon codage !

Credits: Image by storyset