PHP Leçon 4
Tableaux et boucles
Ranger plusieurs valeurs dans un tableau et les parcourir avec foreach pour générer du HTML.
À la fin de cette leçon, tu sauras
- Créer un tableau et lire ses éléments
- Utiliser un tableau associatif (clé => valeur)
- Parcourir un tableau avec foreach et for
Les tableaux
Un tableau range plusieurs valeurs dans une seule variable. Chaque élément a un numéro, qui commence à 0.
<?php
$langages = ["HTML", "CSS", "PHP"];
echo $langages[0]; // HTML
echo $langages[2]; // PHP
echo count($langages); // 3
$langages[] = "SQL"; // ajoute un élément à la finLes tableaux associatifs
À la place des numéros, on peut utiliser des noms (des clés). C'est pratique pour décrire une chose avec plusieurs informations.
<?php
$eleve = [
"prenom" => "Léa",
"classe" => "BTS SIO",
"age" => 18,
];
echo $eleve["prenom"] . " est en " . $eleve["classe"];Parcourir un tableau : foreach
La boucle foreach passe sur chaque élément, l'un après l'autre. C'est elle qu'on utilise le plus pour afficher une liste.
<?php
$langages = ["HTML", "CSS", "PHP"];
echo "<ul>";
foreach ($langages as $langage) {
echo "<li>$langage</li>";
}
echo "</ul>";
foreach ($eleve as $cle => $valeur) {
echo "$cle : $valeur<br>";
}À chaque tour, $langage prend la valeur suivante du tableau. Avec $cle => $valeur, on récupère aussi la clé.
Répéter un nombre de fois : for
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Tour numéro $i<br>";
}Trois parties entre les parenthèses : le départ ($i = 1), la condition pour continuer ($i <= 5), et ce qui se passe à la fin de chaque tour ($i++, qui ajoute 1).
Attention : si la condition reste toujours vraie, la boucle ne s'arrête jamais. C'est une « boucle infinie », et la page finit par planter.
À toi de jouer
Affiche une liste HTML de fruits :
- crée un tableau
$fruitsavec au moins 3 fruits ; - affiche
<ul>avant la boucle et</ul>après ; - avec
foreach, affiche chaque fruit dans un<li>.
- $fruits est un tableau d'au moins 3 éléments
- Un foreach parcourt $fruits
- Chaque fruit est affiché dans un <li>
- La liste est entourée de <ul> et </ul>
Bravo, toutes les consignes sont réussies !
Bloqué ? Voir une solution
<?php
$fruits = ["Pomme", "Banane", "Kiwi"];
echo "<ul>";
foreach ($fruits as $fruit) {
echo "<li>$fruit</li>";
}
echo "</ul>";