Les cours du prof d'info
Les cours du prof d'info

Les boucles (en PHP)

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 $i pour “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 : Comme while, 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 ! 😉


↵ retour vers: Support de cours

Pour accéder au contenu réservé aux enseignants, contactez david@goprof.be.