Les tableaux multidimensionnels PHP : domptez leur puissance
Publié le par Benjamin Crozat
Temps de lecture estimé : 3 minutes
Article certifié pour PHP 8.1.
Qu’est-ce qu’un tableau multidimensionnel ?
Un tableau (ou array) multidimensionnel en PHP est un tableau dans lequel sont imbriqués d’autres tableaux. 2, 3, 4 ou une infinités de dimensions, il n’y a presque aucune limitation.
Comment initialiser un tableau multidimensionnel ?
Créer un tableau multidimensionnel est d’une simplicité infantile :
$habitantsDeSpringfield = [ [ 'nom' => 'Homer Simpson', 'profession' => 'Inspecteur de la sécurité dans une agence nucléaire', ], [ 'nom' => 'Homer Simpson', 'profession' => 'Inspecteur de la sécurité dans une agence nucléaire', ],];
La plupart du temps, il est plus simple d’utiliser une clé (représentée par une chaîne de caractère ou “string” en anglais) afin de faciliter l’utilisation de votre tableau (dans ce cas, il devient associatif et multidimensionnel) :
$listeDesPokemon = [ … 'Pikachu' => [ 'Taille' => 0.4, 'Poids' => 6, ], 'Raichu' => [ 'Taille' => 0.8, 'Poids' => 30, ], …];
Comment récupérer les valeurs d’un tableau multidimensionnel ?
Récupérer une des valeurs d’un tableau multidimensionnel est possible en utilisant la clé de la valeur que vous souhaitez afficher (voilà pourquoi il est plus simple d’utiliser une chaîne de caractères).
Par exemple, nous souhaitons afficher le type de Pikachu. Nous allons donc appeler la clé “Pikachu” ainsi que la clé “taille”, l’une à la suite de l’autre.
// Pikachu mesure 0.4m.echo "Pikachu mesure {$listeDesPokemon['Pikachu']['taille']}m.";
Comment parcourir un tableau multidimensionnel ?
foreach
Imaginons que nous voulons afficher la liste des Pokémon sur notre page web ; PHP a une instruction pour ça et elle s’appelle foreach
.
<ul> <?php foreach ($listeDesPokemon as $nom => $informations) : ?> <li> <?php echo $nom; ?> <ul> <li>Taille : <?php echo $informations['Taille']; ?></li> <li>Poids : <?php echo $informations['Poids']; ?></li> </ul> </li> <?php endforeach; ?></ul>
Dans cet exemple, pour chaque entrée dans le tableau $listeDesPokemon
, nous récupérons la clé grâce à une variable créée à la volée (elle s’appelle $nom
, mais vous pourriez l’appeler $key
ou même $azerty
si ça vous chante) ainsi que la valeur contenu dans cette clé (dans notre cas, il s’agit d’informations diverses à propos du Pokémon). Ensuite, nous affichons tout ça à coup de echo
.
Bien que notre code réponde à notre besoin, nous pouvons l’optimiser afin qu’il ne soit pas nécessaire pour nous de mettre à jour notre HTML pour chaque nouvelle information que nous ajouterons :
<ul> <?php foreach ($listeDesPokemon as $nom => $informations) : ?> <li> <?php echo $nom; ?> <ul> <?php foreach ($informations as $libelle => $valeur) : ?> <li><?php echo $libelle; ?> : <?php echo $valeur; ?></li> <?php endforeach; ?> </ul> </li> <?php endforeach; ?></ul>
Pour résumer, une boucle foreach
nous permet d’exécuter du code (un echo
dans cet exemple, mais vous pouvez y mettre tout ce que vous voulez) pour chaque entrée contenue dans un tableau donné. Nous récupérons le nom du Pokémon (qui est en réalité la clé) ainsi que ses informations (contenues dans un tableau créé à la volée que nous appelons $informations
).
Ensuite, nous terminons en imbriquant un autre foreach
dans le foreach
initial afin d’afficher les informations.
Continuez votre lecture et devenez un expert en PHP :
0 commentaire
Inscrivez-vous ou connectez-vous d'abord.