Tableaux multidimensionnels PHP

Dans les chapitres précédents de ce tutoriel, nous avons déjà appris que les tableaux sont des listes simples de paires de nombres/valeurs.

Cependant, parfois, vous souhaitez stocker des valeurs avec une clé supérieure à une seule.

On peut utiliser des tableaux multidimensionnels pour le stockage.

PHP - Tableau multidimensionnel

Un tableau multidimensionnel est un tableau contenant un ou plusieurs tableaux.

PHP peut comprendre des tableaux multidimensionnels de deux, trois, quatre ou cinq niveaux, voire plus. Cependant, les tableaux de plus de trois niveaux profonds sont difficiles à gérer pour la plupart des gens.

Remarque :La dimension du tableau indique le nombre d'indices nécessaires pour sélectionner un élément.

  • Pour un tableau à deux dimensions, vous avez besoin de deux indices pour sélectionner un élément
  • Pour un tableau à trois dimensions, vous avez besoin de trois indices pour sélectionner un élément

PHP - Tableau à deux dimensions

Un tableau à deux dimensions est un tableau de tableaux (un tableau à trois dimensions est un tableau de tableaux de tableaux).

D'abord, regardons le tableau suivant :

Marque Stock Ventes
Volvo 33 20
BMW 17 15
Saab 5 2
Land Rover 15 11

Nous pouvons stocker les données du tableau ci-dessus dans un tableau à deux dimensions, comme ceci :

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );

Maintenant, ce tableau à deux dimensions contient quatre tableaux et a deux indices (indices) : ligne et colonne.

Pour accéder aux éléments de l'array $cars, nous devons utiliser deux indices (ligne et colonne) :

Exemple

<?php
echo $cars[0][0].": En stock :".$cars[0][1].", Ventes :".$cars[0][2].".<br>";
echo $cars[1][0].": En stock :".$cars[1][1].", Ventes :".$cars[1][2].".<br>";
echo $cars[2][0].": En stock :".$cars[2][1].", Ventes :".$cars[2][2].".<br>";
echo $cars[3][0].": En stock :".$cars[3][1].", Ventes :".$cars[3][2].".<br>";
?>

Exemple de exécution

Nous pouvons également utiliser une autre boucle for dans une boucle for pour obtenir des éléments de l'array $cars (nous devons toujours utiliser deux indices) :

Exemple

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>Numéro de ligne $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."</li>";
  }
  echo "</ul>";
}
?>

Exemple de exécution