Les tableaux sont des structures essentielles en PHP qui te permettent de stocker et de gérer plusieurs valeurs dans une seule variable. Grâce aux tableaux, tu peux organiser et traiter des données de manière structurée, que ce soit une liste simple ou des informations plus complexes. Dans cet article, tu découvriras les différents types de tableaux, comment les utiliser avec des exemples concrets, ainsi que quelques bonnes pratiques à adopter.
foreach.Un tableau est une variable capable de stocker plusieurs valeurs. Il existe plusieurs types de tableaux :
Un tableau indexé (ou array numéroté) est une structure de données qui permet de stocker plusieurs valeurs dans une seule variable. Chaque valeur est repérée par un indice numérique (index), qui commence généralement à 0. C’est comme une liste : on y met des éléments, les uns après les autres.
Les tableaux sont très utiles pour grouper des données du même type ou de types différents. Par exemple : une liste de nombres, de noms, ou une suite d'objets.
On utilise souvent les tableaux pour répéter des actions sur chacun de ses éléments.
Il sera par la suite facile d'appliquer un traitement ou la une suite d'instructions à chacun des éléments de ce tableau.
Il y a plusieurs manières de créer un tableau en PHP :
// Avec la syntaxe ancienne (toujours valide)
$notes = array(12, 15, 17);
// Avec la syntaxe moderne (recommandée)
$notes = [12, 15, 17];
$notes = [10, 12, 15, 19];
// $notes[0] vaut 10
// $notes[3] vaut 19
$prenoms = ["Alice", "Bob", "Chloé"];
// $prenoms[1] vaut "Bob"
foreachLa meilleure façon de parcourir un tableau indexé en PHP est d’utiliser une boucle foreach. Elle permet de lire chaque élément du tableau sans se soucier de son indice. C’est plus simple, plus lisible, et il y a moins de risques d’erreurs qu’avec une boucle for.
Exemple :
$notes = [10, 13, 15, 17];
foreach ($notes as $note) {
echo "Note : $note<br>";
}
Dans cet exemple, PHP va automatiquement lire chaque valeur du tableau $notes une par une, et la stocker dans la variable $note à chaque tour de boucle.
Tu peux aussi récupérer l'indice (la position) de chaque élément:
$notes = [10, 13, 15, 17];
foreach ($notes as $index => $note) {
echo "Note n°$index : $note<br>";
}
Ce code affichera:
Note n°0 : 10
Note n°1 : 13
Note n°2 : 15
Note n°3 : 17
foreach est plus pratique que for pour lire un tableau complet.$tableau[0]).foreach, par exemple).Un tableau associatif est un tableau dans lequel chaque valeur est associée à une clé (appelée aussi "index"), mais cette clé est un texte (une chaîne de caractères), et pas un nombre.
C’est un peu comme un dictionnaire : chaque mot (la clé) correspond à une définition (la valeur). Cela permet de nommer les éléments, au lieu d’utiliser des numéros.
Les tableaux associatifs sont très utiles quand tu veux organiser des données avec des étiquettes claires. Cela rend ton code plus lisible et plus facile à comprendre.
// Syntaxe avec l'ancienne méthode
$eleve = array(
"nom" => "Emma",
"age" => 16,
"classe" => "5e"
);
// Syntaxe moderne (recommandée)
$eleve = [
"nom" => "Emma",
"age" => 16,
"classe" => "5e"
];
$eleve = [
"nom" => "Alex",
"age" => 17,
"section" => "Informatique"
];
// $eleve["nom"] vaut "Alex"
// $eleve["age"] vaut 17
$personnage = [
"pseudo" => "DragonSlayer",
"pv" => 100,
"niveau" => 5
];
$contacts = [
"maman" => "0486 12 34 56",
"papa" => "0475 98 76 54",
"ami" => "0491 11 22 33"
];
// $contacts["papa"] vaut "0475 98 76 54"
foreachLorsque tu utilises un tableau associatif, chaque élément possède une clé (souvent un mot) associée à une valeur. Pour parcourir ce type de tableau, on utilise la boucle foreach en récupérant la clé et la valeur à chaque tour.
Exemple :
$eleve = [
"nom" => "Alex",
"age" => 17,
"section" => "Informatique"
];
foreach ($eleve as $cle => $valeur) {
echo "$cle : $valeur<br>";
}
Ce code va afficher :
nom : Alex
age : 17
section : Informatique
$cle contient le nom du champ (ex. : "nom", "age", "section").$valeur contient la valeur associée (ex. : "Alex", 17...).| Caractéristique | Tableau indexé | Tableau associatif |
|---|---|---|
| Type d’index | Nombres entiers (0, 1, 2, ...) | Chaînes de caractères ("nom", "age", ...) |
| Ordre des éléments | Important et conservé | Important, mais l’accès se fait par clé |
| Accès à une valeur | $tableau[0] |
$tableau["nom"] |
| Création (syntaxe moderne) | $t = [1, 2, 3]; |
$t = ["clé1" => "val1", "clé2" => "val2"]; |
| Utilisation typique | Listes, séries, boucles numérotées | Objets, fiches, données avec étiquettes |
| Exemple | $nombres = [10, 20, 30]; |
$eleve = ["nom" => "Emma", "age" => 16]; |
| Lisibilité | Moins explicite (indices numériques) | Plus lisible grâce aux noms de clés |
| Boucle recommandée | foreach ($t as $val) |
foreach ($t as $cle => $val) |
Souhaites-tu une fiche d’exercice pour que les élèves s’entraînent à utiliser les deux types ?
Imagine que tu prépares une liste de courses pour la semaine. Tu peux stocker chaque article dans un tableau indexé.
<?php
$listeCourses = ["Pain", "Lait", "Beurre", "Œufs", "Fromage"];
echo "Liste de courses :<br>";
foreach ($listeCourses as $article) {
echo "- $article<br>";
}
?>
Explication :
Chaque élément de la liste est stocké dans le tableau $listeCourses et affiché grâce à une boucle foreach.
Supposons que tu veuilles stocker les notes d'un élève pour différentes matières. Tu utiliseras un tableau associatif où la clé représente la matière.
<?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 :
Ce tableau associe chaque matière à sa note, ce qui facilite le calcul d'une moyenne ou la recherche d'une note spécifique.
Tu peux organiser ton planning hebdomadaire en stockant les activités de chaque jour dans un tableau multidimensionnel.
<?php
$planningSemaine = [
"Lundi" => ["08:00" => "Cours de Maths", "10:00" => "Récréation", "11:00" => "Cours d'Anglais"],
"Mardi" => ["09:00" => "Cours de Sciences", "11:00" => "Atelier Informatique"],
"Mercredi" => ["08:00" => "Cours d'Histoire", "10:00" => "Sport"],
"Jeudi" => ["09:00" => "Cours de Français", "11:00" => "Cours de Géographie"],
"Vendredi" => ["08:00" => "Cours de Musique", "10:00" => "Réunion de classe"]
];
echo "Planning de la semaine :<br>";
foreach ($planningSemaine as $jour => $activites) {
echo "<strong>$jour</strong><br>";
foreach ($activites as $heure => $activite) {
echo "$heure - $activite<br>";
}
echo "<br>";
}
?>
Explication :
Ici, le tableau $planningSemaine contient pour chaque jour un autre tableau avec les heures et les activités. Cela te permet d'organiser des données complexes de manière structurée.
Dans une boutique, tu peux suivre le stock des produits en utilisant un tableau associatif.
<?php
$inventaire = [
"Stylo" => 150,
"Cahier" => 80,
"Gomme" => 200,
"Règle" => 50
];
echo "Inventaire des produits :<br>";
foreach ($inventaire as $produit => $quantite) {
echo "$produit : $quantite en stock<br>";
}
?>
Explication :
Chaque produit est associé à une quantité, ce qui facilite la gestion et le réapprovisionnement.
Tu peux créer un carnet d'adresses où chaque contact est représenté par un tableau associatif contenant son nom, son numéro et son email.
<?php
$carnetAdresses = [
[
"nom" => "Dupont",
"tel" => "0123456789",
"email" => "dupont@example.com"
],
[
"nom" => "Martin",
"tel" => "0987654321",
"email" => "martin@example.com"
],
[
"nom" => "Durand",
"tel" => "0147258369",
"email" => "durand@example.com"
]
];
echo "Carnet d'adresses :<br>";
foreach ($carnetAdresses as $contact) {
echo "Nom : " . $contact["nom"] . "<br>";
echo "Téléphone : " . $contact["tel"] . "<br>";
echo "Email : " . $contact["email"] . "<br><br>";
}
?>
Explication :
Ce tableau multidimensionnel te permet de gérer une collection de contacts, chaque contact étant lui-même un tableau associatif.
Déclaration et initialisation :
Utilise la syntaxe courte [] pour déclarer tes tableaux, sauf si tu as besoin de compatibilité avec d'anciennes versions de PHP.
Utilisation des boucles :
La boucle foreach est très adaptée pour parcourir les tableaux, qu'ils soient simples ou multidimensionnels.
Fonctions utiles :
Familiarise-toi avec des fonctions comme count(), array_push(), in_array(), etc., pour manipuler tes tableaux plus efficacement.
Organisation des données :
Choisis le type de tableau (indexé, associatif, multidimensionnel) en fonction de la structure de tes données et de l'opération à effectuer.
Lisibilité du code :
N'oublie pas de commenter ton code pour expliquer la structure et le rôle de chaque tableau, surtout dans des projets collaboratifs.
foreach est idéale pour parcourir les tableaux de manière simple et lisible.count()) améliore la manipulation des tableaux.En maîtrisant les tableaux en PHP, tu pourras organiser tes données de façon claire et structurée, ce qui est une compétence essentielle en programmation. Bonne pratique et n'hésite pas à expérimenter avec différents types de tableaux !