PHP : Les boucles foreach

Les boucles foreach sont très utiles pour parcourir facilement les tableaux en PHP. Elles te permettent d’accéder directement à chaque élément d’un tableau sans te soucier des indices, ce qui rend le code plus lisible et adapté à de nombreuses situations concrètes. Dans cet article, nous allons explorer plusieurs exemples pour illustrer comment utiliser foreach dans différents contextes.

    6tq
  • Découverte

Objectifs de la leçon

  • Comprendre la syntaxe et le fonctionnement de la boucle foreach.
  • Savoir parcourir des tableaux simples ou associatifs pour traiter des données.
  • Appliquer ces notions à des exemples concrets issus de situations quotidiennes.
  • Identifier les bonnes pratiques pour écrire un code clair et maintenable.

Qu'est-ce que la boucle foreach ?

La boucle foreach te permet d’itérer sur les éléments d’un tableau sans avoir besoin d’utiliser un compteur. La syntaxe de base est la suivante :

foreach ($tableau as $element) {
    // Traitement de $element
}

Pour les tableaux associatifs, tu peux accéder à la clé et à la valeur :

foreach ($tableau as $cle => $valeur) {
    // Traitement de $cle et $valeur
}

Cette simplicité est très pratique pour traiter des collections de données.

Exemples Concrets "De la Vraie Vie"

Exemple 1 : Parcourir une Liste de Courses

Imagine que tu as une liste d’articles à acheter et que tu souhaites les afficher dans l’ordre.

<?php
$listeCourses = ["pain", "lait", "beurre", "œufs", "fromage"];

echo "Liste de courses :<br>";
foreach ($listeCourses as $article) {
    echo "- $article<br>";
}
?>

Explication :
Chaque article de la liste est affiché, ce qui simule une liste de courses à consulter avant de faire les achats.


Exemple 2 : Afficher les Notes d’un Élève

Supposons que tu as un tableau associatif contenant les matières et les notes d’un élève. Tu peux afficher chaque matière avec sa note.

<?php
$notesEleve = [
    "Mathématiques" => 15,
    "Français"      => 13,
    "Histoire"      => 14,
    "Sciences"      => 16,
    "Anglais"       => 12
];

echo "Notes de l'élève :<br>";
foreach ($notesEleve as $matiere => $note) {
    echo "$matiere : $note/20<br>";
}
?>

Explication :
La boucle affiche la matière et sa note, permettant de visualiser rapidement la performance de l’élève dans chaque discipline.


Exemple 3 : Générer un Menu de Restaurant

Pour un site de restaurant, tu peux avoir un tableau listant les plats du jour et leurs prix, et afficher un menu.

<?php
$menuRestaurant = [
    "Salade César"       => 9.50,
    "Burger Maison"      => 12.00,
    "Pâtes Carbonara"    => 11.00,
    "Pizza Margherita"   => 10.00,
    "Tiramisu"           => 6.50
];

echo "Menu du restaurant :<br>";
foreach ($menuRestaurant as $plat => $prix) {
    echo "$plat : $prix €<br>";
}
?>

Explication :
Chaque plat du menu est présenté avec son prix, simulant l’affichage d’un menu sur une carte de restaurant.


Exemple 4 : Afficher un Planning Quotidien

Imagine que tu as un tableau qui représente ton planning de la journée avec des activités planifiées. La boucle foreach te permet de parcourir et d’afficher chaque activité.

<?php
$planning = [
    "08:00" => "Réveil et petit-déjeuner",
    "09:00" => "Cours de mathématiques",
    "11:00" => "Pause et révision",
    "12:00" => "Déjeuner",
    "14:00" => "Travail sur le projet",
    "16:00" => "Sport ou détente",
    "19:00" => "Dîner",
    "21:00" => "Lecture ou révision"
];

echo "Planning de la journée :<br>";
foreach ($planning as $heure => $activite) {
    echo "$heure - $activite<br>";
}
?>

Explication :
Le tableau associatif permet d’associer chaque heure à une activité, facilitant ainsi la gestion d’un planning quotidien.


Exemple 5 : Gérer un Inventaire de Produits

Dans un contexte commercial, tu peux avoir un tableau associatif qui contient le nom des produits et leur quantité en stock. La boucle foreach te permet de vérifier l’inventaire.

<?php
$inventaire = [
    "Stylo"       => 150,
    "Cahier"      => 80,
    "Gomme"       => 200,
    "Règle"       => 50,
    "Feutres"     => 120
];

echo "Inventaire des fournitures scolaires :<br>";
foreach ($inventaire as $produit => $quantite) {
    echo "$produit : $quantite en stock<br>";
}
?>

Explication :
Chaque produit et sa quantité sont affichés, permettant de visualiser rapidement l’état de l’inventaire, ce qui est très utile pour des réassorts ou des vérifications de stock.


Bonnes Pratiques et Conseils

  1. Choix de la Structure : Utilise foreach dès que tu travailles avec des tableaux, qu’ils soient indexés ou associatifs.
  2. Lisibilité : Privilégie un code clair et lisible en nommant correctement tes variables.
  3. Gestion des Erreurs : Assure-toi que le tableau n’est pas vide avant de le parcourir, pour éviter des erreurs d’exécution.
  4. Utilisation Appropriée : Pour des itérations simples sur des tableaux, foreach est généralement plus adapté que les boucles for car il gère automatiquement les indices.
  5. Commentaires : Ajoute des commentaires pour expliquer le but de la boucle, surtout dans des contextes pédagogiques ou collaboratifs.

Ce qu’il faut retenir

  • La boucle foreach simplifie le parcours des tableaux en PHP.
  • Elle est adaptée aussi bien aux tableaux simples qu’aux tableaux associatifs.
  • Les exemples concrets montrent son utilité dans divers domaines : liste de courses, gestion des notes, menu de restaurant, planning quotidien et inventaire de produits...
  • Adopter de bonnes pratiques permet d’écrire un code clair et efficace.

Pour aller plus loin