
Les Boucles en PHP : Répéter sans se répéter ! 🔄
Salut les futurs champions du code ! Aujourd’hui, on va parler d’un concept super utile en programmation : les boucles. Imagine que tu dois faire la même chose 10, 100, ou même 1000 fois. Tu vas pas copier-coller ton code, si ? Non ! C’est là que les boucles entrent en jeu, elles sont comme des robots très efficaces qui répètent une tâche pour toi.
Pense à une recette de cuisine : si on te dit “mélange pendant 5 minutes”, tu ne vas pas écrire “mélange”, “mélange”, “mélange” 300 fois. Tu vas juste répéter l’action “mélanger” jusqu’à ce que les 5 minutes soient passées. En programmation, c’est pareil !
1. La boucle “for” : Le compteur infatigable 🏃♂️
La boucle for est parfaite quand tu sais exactement combien de fois tu dois répéter quelque chose. C’est comme un compte à rebours avant le lancement d’une fusée, tu connais le nombre de secondes à l’avance.
Syntaxe :
for (initialisation; condition; incrémentation) {
// Code à exécuter à chaque tour
}
Exemple : Afficher les nombres de 1 à 5
for ($i = 1; $i <= 5; $i++) {
echo "Le nombre est : " . $i . "<br>";
}
// Résultat :
// Le nombre est : 1
// Le nombre est : 2
// Le nombre est : 3
// Le nombre est : 4
// Le nombre est : 5
initialisation: On met une variable de départ (souvent$ipour “index” ou “itération”).condition: La boucle continue tant que cette condition est vraie.incrémentation: Ce qui se passe après chaque tour (souvent$i++pour ajouter 1).
2. La boucle “while” : Tant que c’est vrai, ça continue ! ⏳
La boucle while est top quand tu ne sais pas à l’avance combien de fois tu devras répéter, mais tu as une condition à respecter. C’est comme attendre que l’eau bouille : tu ne sais pas combien de temps ça va prendre, mais tu attends tant que l’eau n’a pas bouilli.
Syntaxe :
while (condition) {
// Code à exécuter tant que la condition est vraie
}
Attention : N’oublie pas de modifier quelque chose dans la boucle pour que la condition devienne fausse à un moment, sinon… boucle infinie ! 😵 (et ton programme plante)
Exemple : Compter jusqu’à 3
$compteur = 1;
while ($compteur <= 3) {
echo "Comptons : " . $compteur . "<br>";
$compteur++; // N'oublie pas de l'incrémenter !
}
// Résultat :
// Comptons : 1
// Comptons : 2
// Comptons : 3
3. La boucle “do…while” : Fais-le au moins une fois ! 💪
La boucle do...while est très similaire à while, mais avec une petite différence cruciale : le code est exécuté au moins une fois avant que la condition ne soit vérifiée. C’est comme quand tu dois goûter un plat bizarre : tu dois le faire au moins une fois, même si après tu décides que tu n’aimes pas et n’en reprends pas.
Syntaxe :
do {
// Code à exécuter au moins une fois
} while (condition);
Exemple : Demander un nombre jusqu’à ce qu’il soit supérieur à 5
$nombre = 0;
do {
echo "Saisissez un nombre (> 5) : ";
// Ici, on simule une saisie utilisateur, en vrai vous utiliseriez readline() ou un formulaire HTML.
// Pour l'exemple, on va juste faire augmenter le nombre.
$nombre++;
echo "Votre nombre est : " . $nombre . "<br>";
} while ($nombre <= 5);
echo "Super, vous avez saisi " . $nombre . " qui est bien > 5 !<br>";
// Résultat (exemple avec $nombre commençant à 0 et incrémenté) :
// Saisissez un nombre (> 5) : Votre nombre est : 1
// Saisissez un nombre (> 5) : Votre nombre est : 2
// ... jusqu'à
// Saisissez un nombre (> 5) : Votre nombre est : 6
// Super, vous avez saisi 6 qui est bien > 5 !
4. La boucle “foreach” : Pour chaque élément d’une collection 🎁
Quand tu as une liste d’éléments (un “tableau” ou “array” en PHP) et que tu veux faire quelque chose avec chaque élément, la boucle foreach est ta meilleure amie ! C’est comme distribuer un cadeau à chaque personne présente à une fête.
Syntaxe :
foreach (tableau as valeur) {
// Code à exécuter pour chaque valeur
}
// Ou si tu as besoin de l'index/clé aussi :
foreach (tableau as cle => valeur) {
// Code à exécuter pour chaque clé et valeur
}
Exemple : Lister des fruits
$fruits = ["Pomme", "Banane", "Cerise"];
foreach ($fruits as $fruit) {
echo "J'aime la " . $fruit . ".<br>";
}
// Résultat :
// J'aime la Pomme.
// J'aime la Banane.
// J'aime la Cerise.
Exemple : Lister des utilisateurs avec leur rôle (clé et valeur)
$utilisateurs = [
"Alice" => "Admin",
"Bob" => "Éditeur",
"Charlie" => "Visiteur"
];
foreach ($utilisateurs as $nom => $role) {
echo $nom . " est un " . $role . ".<br>";
}
// Résultat :
// Alice est un Admin.
// Bob est un Éditeur.
// Charlie est un Visiteur.
Pour aller plus loin : break et continue 🛑➡️
break: Permet de stopper net la boucle en cours, peu importe la condition. C’est comme appuyer sur le bouton “arrêt d’urgence”.continue: Permet de passer directement au tour suivant de la boucle, en ignorant le reste du code dans le tour actuel. C’est comme “sauter ce tour-là, je m’en occupe plus tard”.
Exemple avec break : Trouver un nombre et s’arrêter
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) {
echo "J'ai trouvé 5 ! J'arrête là.<br>";
break; // La boucle s'arrête ici
}
echo "On cherche toujours... " . $i . "<br>";
}
// Résultat :
// On cherche toujours... 1
// On cherche toujours... 2
// On cherche toujours... 3
// On cherche toujours... 4
// J'ai trouvé 5 ! J'arrête là.
En résumé : Choisis la bonne boucle ! 🤔
for: Quand tu connais le nombre d’itérations à l’avance (compteur).while: Quand tu as une condition à respecter, mais tu ne sais pas combien de tours ça prendra.do...while: Commewhile, mais exécute au moins une fois avant de vérifier la condition.foreach: Pour parcourir facilement tous les éléments d’un tableau (liste).
Entraîne-toi avec des petits exercices, c’est comme ça qu’on devient un ninja du code ! 😉