Les tableaux multidimensionnels en PHP
Les tableaux multidimensionnels sont des tableaux qui stockent un autre tableau à chaque index au lieu d’un seul élément. En d’autres termes, nous pouvons définir les tableaux multidimensionnels comme des tableaux de tableaux. Comme leur nom l’indique, chaque élément de ce tableau peut être un tableau et ils peuvent aussi contenir d’autres sous-tableaux à l’intérieur. Les tableaux ou sous-tableaux de tableaux multidimensionnels peuvent être accessibles en utilisant plusieurs dimensions.
Exemple:
<?php $employee = array( array( "name" => "Thomas Judell", "address" => "Paris", "email" => "[email protected]", ), array( "name" => "Emily sosan", "address" => "Lile", "email" => "[email protected]", ), array( "name" => "Zineb sofia", "address" => "Nantes", "email" => "[email protected]", ) ); echo "L'adresse de Thomas Judell est : " . $employee[0]["address"] . "\n"; echo "L'adresse email de Emily sosan est : " . $employee[1]["email"]; ?>
La sortie :
L'adresse de Thomas Judell est : Paris L'adresse email de Emily sosan est : [email protected]
Parcourir un tableau multidimensionnel
Nous pouvons afficher tous les éléments d’un tableau multidimensionnel en utilisant les boucles for et foreach de manière imbriquée. C’est-à-dire, une boucle pour le tableau extérieur et une boucle pour le tableau intérieur.
<?php $employee = array( array( "name" => "Thomas Judell", "address" => "Paris", "email" => "[email protected]", ), array( "name" => "Emily sosan", "address" => "Lile", "email" => "[email protected]", ), array( "name" => "Zineb sofia", "address" => "Nantes", "email" => "[email protected]", ) ); // array_keys pour récupérer les clés $keys = array_keys($employee); for($i = 0; $i < count($employee); $i++) { echo $keys[$i] . "\n"; foreach($employee[$keys[$i]] as $key => $value) { echo $key . " : " . $value . "\n"; } echo "\n"; } ?>
La sortie :
0 name : Thomas Judell address : Paris email : [email protected] 1 name : Emily sosan address : Lile email : [email protected] 2 name : Zineb sofia address : Nantes email : [email protected]