for et foreachcount() pour connaître le nombre d'élémentssort() et rsort()Un tableau dont les clés sont des entiers automatiques (0, 1, 2, 3...).
<?php
// Création d'un tableau scalaire
$couleurs = array("Rouge", "Vert", "Bleu", "Jaune");
// Ou avec la syntaxe courte (PHP 5.4+)
$couleurs = ["Rouge", "Vert", "Bleu", "Jaune"];
// Accès aux éléments
echo $couleurs[0]; // Affiche : Rouge
echo $couleurs[1]; // Affiche : Vert
?>
Un tableau dont les clés sont des chaînes de caractères personnalisées.
<?php
// Création d'un tableau associatif
$couleurs = array(
"red" => "Rouge",
"green" => "Vert",
"blue" => "Bleu",
"yellow" => "Jaune"
);
// Ou avec la syntaxe courte
$couleurs = [
"red" => "Rouge",
"green" => "Vert",
"blue" => "Bleu",
"yellow" => "Jaune"
];
// Accès aux éléments
echo $couleurs["red"]; // Affiche : Rouge
echo $couleurs["green"]; // Affiche : Vert
?>
Un tableau qui contient d'autres tableaux.
<?php
$voitures = array(
array("Volvo", "rouge", "4 places", 3),
array("Renault", "rouge", "4 places", 3),
array("BMW", "blanche", "coupé", 4)
);
// Accès aux éléments
echo $voitures[0][0]; // Affiche : Volvo
echo $voitures[0][1]; // Affiche : rouge
echo $voitures[1][0]; // Affiche : Renault
?>
Utilisée quand on connaît le nombre d'itérations à l'avance.
<?php
// Afficher les nombres de 1 à 10
for ($i = 1; $i <= 10; $i++) {
echo $i . "<br>";
}
// Parcourir un tableau
$couleurs = array("Rouge", "Vert", "Bleu", "Jaune");
for ($i = 0; $i < count($couleurs); $i++) {
echo "La couleur n°$i est " . $couleurs[$i] . "<br>";
}
?>
La meilleure façon de parcourir un tableau en PHP.
<?php
$couleurs = array("Rouge", "Vert", "Bleu", "Jaune");
// Parcourir uniquement les valeurs
foreach ($couleurs as $couleur) {
echo $couleur . "<br>";
}
?>
<?php
$couleurs = array(
"red" => "Rouge",
"green" => "Vert",
"blue" => "Bleu"
);
// Parcourir clés ET valeurs
foreach ($couleurs as $cle => $valeur) {
echo "$cle => $valeur<br>";
}
?>
La condition est testée avant chaque itération.
<?php
// Afficher les nombres de 1 à 10
$i = 1;
while ($i <= 10) {
echo $i . "<br>";
$i++;
}
// Parcourir un tableau
$couleurs = array("Rouge", "Vert", "Bleu", "Jaune");
$i = 0;
while ($i < count($couleurs)) {
echo "La couleur n°$i est " . $couleurs[$i] . "<br>";
$i++;
}
?>
La condition est testée après chaque itération. Le code s'exécute au moins 1 fois.
<?php
// Afficher les nombres de 1 à 10
$i = 1;
do {
echo $i . "<br>";
$i++;
} while ($i <= 10);
// Parcourir un tableau
$couleurs = array("Rouge", "Vert", "Bleu", "Jaune");
$i = 0;
do {
echo "La couleur n°$i est " . $couleurs[$i] . "<br>";
$i++;
} while ($i < count($couleurs));
?>
while : teste la condition avant → peut ne jamais s'exécuterdo...while : teste la condition après → s'exécute au moins 1 fois<?php
$couleurs = array("Rouge", "Vert", "Bleu", "Jaune");
$taille = count($couleurs);
echo "Le tableau contient $taille éléments."; // Affiche : 4
?>
<?php
$couleurs = array("Jaune", "Rouge", "Bleu", "Vert");
sort($couleurs);
foreach ($couleurs as $couleur) {
echo $couleur . "<br>";
}
// Affiche : Bleu, Jaune, Rouge, Vert (ordre alphabétique)
?>
<?php
$couleurs = array("Jaune", "Rouge", "Bleu", "Vert");
rsort($couleurs);
foreach ($couleurs as $couleur) {
echo $couleur . "<br>";
}
// Affiche : Vert, Rouge, Jaune, Bleu (ordre alphabétique inverse)
?>
sort() et rsort() modifient le tableau original et réinitialisent les clés (0, 1, 2...).
| Fonction | Tri | Préserve les clés ? |
|---|---|---|
sort() |
Croissant (valeurs) | ❌ Non |
rsort() |
Décroissant (valeurs) | ❌ Non |
asort() |
Croissant (valeurs) | ✅ Oui |
arsort() |
Décroissant (valeurs) | ✅ Oui |
ksort() |
Croissant (clés) | ✅ Oui |
krsort() |
Décroissant (clés) | ✅ Oui |
<?php
$voitures = array(
array("Volvo", "rouge", "4 places", 3),
array("Renault", "rouge", "4 places", 3),
array("BMW", "blanche", "coupé", 4)
);
// Parcourir toutes les lignes
for ($i = 0; $i < count($voitures); $i++) {
// Parcourir toutes les colonnes de la ligne $i
for ($j = 0; $j < count($voitures[$i]); $j++) {
echo $voitures[$i][$j] . " ";
}
echo "<br>";
}
?>
<?php
$voitures = array(
array("Volvo", "rouge", "4 places", 3),
array("Renault", "rouge", "4 places", 3),
array("BMW", "blanche", "coupé", 4)
);
?>
<table border="1">
<tr>
<th>Marque</th>
<th>Couleur</th>
<th>Nombre de places</th>
<th>Quantité</th>
</tr>
<?php foreach ($voitures as $voiture): ?>
<tr>
<td><?php echo $voiture[0]; ?></td>
<td><?php echo $voiture[1]; ?></td>
<td><?php echo $voiture[2]; ?></td>
<td><?php echo $voiture[3]; ?></td>
</tr>
<?php endforeach; ?>
</table>
| Boucle | Quand l'utiliser ? | Exemple typique |
|---|---|---|
for |
Nombre d'itérations connu | Parcourir tableau avec indices |
foreach |
Parcourir un tableau | Afficher tous les éléments |
while |
Condition avant chaque tour | Boucle avec condition complexe |
do...while |
Au moins 1 exécution garantie | Menu interactif, validation |
$tab = array("a", "b", "c"); ou $tab = ["a", "b", "c"];$tab = array("cle" => "valeur");$tab = array(array(...), array(...));foreach ($tab as $valeur) : parcours des valeurs uniquementforeach ($tab as $cle => $valeur) : parcours clés ET valeurscount($tab) : retourne le nombre d'élémentssort($tab) : tri croissant (perd les clés)rsort($tab) : tri décroissant (perd les clés)while teste AVANT, do...while teste APRÈSPour un code HTML plus lisible :
<?php foreach ($couleurs as $couleur): ?>
<p><?php echo $couleur; ?></p>
<?php endforeach; ?>
Équivalent à :
<?php
foreach ($couleurs as $couleur) {
echo "<p>$couleur</p>";
}
?>