Tableaux indexés
PHP est un langage de script côté serveur puissant et populaire, largement utilisé pour le développement web. L'une de ses fonctionnalités clés est la capacité à travailler avec des tableaux.
Tableaux indexés en PHP
Un tableau indexé est le type de tableau PHP le plus simple : une liste de valeurs où chaque élément reçoit automatiquement une clé numérique (sa position), à partir de 0. Utilisez-en un chaque fois que vous avez une collection ordonnée — une liste de produits, les lignes d'un fichier, les lignes d'un ensemble de résultats — et que vous n'avez pas besoin d'un nom significatif pour chaque emplacement.
PHP possède trois types de tableaux au total : les tableaux indexés (clés numériques, traités ici), les tableaux associatifs (clés string nommées) et les tableaux multidimensionnels (tableaux de tableaux). Cette page explique comment créer des tableaux indexés et comment lire, modifier, ajouter, compter et parcourir leurs valeurs.
Créer un tableau indexé
Il existe deux façons équivalentes de construire un tableau indexé. La syntaxe courte [] (PHP 5.4+) est la forme moderne et recommandée ; la fonction array() fonctionne sur toutes les versions de PHP.
// Short syntax (recommended)
$cars = ["Volvo", "BMW", "Toyota"];
// Long syntax — identical result
$cars = array("Volvo", "BMW", "Toyota");Dans les deux cas, PHP vous assigne les clés automatiquement : "Volvo" reçoit l'index 0, "BMW" reçoit 1, et "Toyota" reçoit 2. Un tableau vide s'écrit simplement $cars = [];, prêt à recevoir des éléments plus tard.
Accéder aux valeurs
Lisez une valeur en plaçant son index entre crochets. Rappelez-vous que le premier élément est à l'index 0, donc l'index du dernier élément est toujours inférieur d'une unité au nombre d'éléments.
$cars = ["Volvo", "BMW", "Toyota"];
echo $cars[0]; // Volvo
echo $cars[2]; // ToyotaAccéder à une clé inexistante (par exemple $cars[9]) renvoie null et émet un avis Warning: Undefined array key — utilisez in_array() ou isset() comme garde lorsque vous n'êtes pas certain qu'une clé est présente.
Modifier des valeurs
Assignez une nouvelle valeur à un index existant pour l'écraser sur place :
$cars = ["Volvo", "BMW", "Toyota"];
$cars[0] = "Mercedes";
echo $cars[0]; // MercedesLe tableau contient toujours trois éléments ; seule la valeur à l'index 0 a changé.
Ajouter des valeurs
Pour ajouter un élément à la fin du tableau, assignez-le à la syntaxe à crochets vides [] — PHP choisit automatiquement le prochain index disponible. La fonction array_push() fait la même chose et peut ajouter plusieurs valeurs à la fois :
$cars = ["Volvo", "BMW", "Toyota"];
$cars[] = "Audi"; // index 3
array_push($cars, "Tesla", "Kia"); // indexes 4 and 5
print_r($cars);Cela affiche :
Array
(
[0] => Volvo
[1] => BMW
[2] => Toyota
[3] => Audi
[4] => Tesla
[5] => Kia
)Compter les éléments
Utilisez count() pour savoir combien d'éléments un tableau contient — utile pour afficher des totaux ou comme borne supérieure d'une boucle :
$cars = ["Volvo", "BMW", "Toyota"];
echo count($cars); // 3Parcourir un tableau indexé
La façon la plus simple de visiter chaque valeur est une boucle foreach, qui fonctionne quel que soit le nombre d'éléments :
$cars = ["Volvo", "BMW", "Toyota"];
foreach ($cars as $car) {
echo $car . PHP_EOL;
}Résultat :
Volvo
BMW
ToyotaSi vous avez également besoin de l'index de chaque élément, capturez aussi la clé :
$cars = ["Volvo", "BMW", "Toyota"];
foreach ($cars as $index => $car) {
echo "$index: $car" . PHP_EOL;
}
// 0: Volvo
// 1: BMW
// 2: ToyotaUne boucle for classique est une alternative lorsque vous souhaitez un contrôle numérique explicite :
$cars = ["Volvo", "BMW", "Toyota"];
for ($i = 0; $i < count($cars); $i++) {
echo $cars[$i] . PHP_EOL;
}Pièges courants
- Les clés ne sont pas toujours séquentielles. Supprimer un élément avec
unset($cars[1])laisse un "trou" — les clés restantes restent0et2. Appelezarray_values()pour réindexer à partir de0si vous avez besoin d'une liste propre. - Indexé vs. associatif est fluide. Ajouter une clé string (
$cars["best"] = "Volvo") transforme le tableau en tableau mixte/associatif. Pour garder un tableau purement indexé, n'ajoutez que des éléments en fin de tableau ou assignez uniquement des clés entières. - Le tri réordonne, parfois réindexe. Des fonctions comme
sort()réindexent le tableau à partir de0, ce qui est généralement souhaitable pour une liste indexée.
Conclusion
Les tableaux indexés stockent une liste ordonnée de valeurs sous des clés numériques automatiques commençant à 0. Vous les créez avec [], lisez et écrasez les valeurs par index, ajoutez des éléments avec $arr[] ou array_push(), les mesurez avec count(), et les parcourez avec foreach. Lorsque vous avez besoin de données étiquetées plutôt que positionnelles, utilisez plutôt un tableau associatif.