Les tableaux multidimensionnels en PHP

Les tableaux multidimensionnels en PHP

  1. Objectifs

    • Etre capable de créer , afficher et trier des tables multidimensionnels en PHP
  2. Présentation

    • Un tableau multidimensionnel est un tableau contenant lui même un ou plusieurs autres tableaux en valeurs.
    • Un tableau multidimensionnel est un tableau qui stocke un autre tableau à chaque index au lieu d’un seul élément.
    • Le tableau multidimensionnel est également connu sous le nom de tableau PHP de tableaux .
    • Comme son nom l’indique, chaque élément de ce tableau peut être un tableau et ils peuvent également contenir d’autres sous-tableaux.
    • Le tableau multidimensionnel est un tableau dans lequel chaque élément peut également être un tableau et chaque élément du sous-tableau peut être un tableau ou contenir en outre un tableau en lui-même et ainsi de suite.
  3. Tableau à deux dimensions bidimensionnels en PHP

    • Un tableau peut aussi contenir des tableaux (c.à.d. que chaque élément d’un tableau est aussi un tableau). On parle alors de tableau “deux dimensions” (2D), ou plus.
    • Pour un tableau à deux dimensions, comme tout tableau, est une variable possédant un nom unique, dans laquelle chaque élément est non plus repéré par un seul indice, mais par deux indices (numéro de ligne et numéro de colonne) permettant d’indiquer sa position.
    • La dimension d’un tableau correspond au nombre d’informations nécessaires à la localisation d’un élément.
    • Les tableaux PHP bidimensionnels contiennent des tableaux dans lesquels les éléments sont repérées par des colonnes et des lignes.
    • Voici un tableau à 2 dimensions , qui contient 3 lignes et 4 colonnes :
    • tableau_deux_dim

    • Soit le tableau suivant:
    • Prénom et nom Moyenne Rang
      Salah MAJDOUB 10.45 12
      Taysir ALLANI 12.21 5
      Rafika HARBAOUI 09.18 13
      Monia SELLITI 14.11 1
    • Nous pouvons stocker les données du tableau ci-dessus dans un tableau à deux dimensions, comme ceci:
    • $apprenants = array (
            array("Salah MAJDOUB",10.45,12),
            array("Taysir ALLANI",12.21,5),
            array("Rafika HARBAOUI",09.18,13),
            array("Monia SELLITI",14.11,1)
          );
    • Maintenant, le tableau $apprenants en deux dimensions contient quatre tableaux, et il a deux indices: ligne et colonne.
    • Pour accéder aux éléments du tableau $apprenants, nous devons pointer sur les deux indices (ligne et colonne):
    • echo "Prénom et nom: ".$apprenants[0][0].": Moyenne: ".$apprenants[0][1].", Rang: ".$apprenants[0][2].".<br>";
          echo "Prénom et nom: ".$apprenants[1][0].": Moyenne: ".$apprenants[1][1].", Rang: ".$apprenants[1][2].".<br>";
          echo "Prénom et nom: ".$apprenants[2][0].": Moyenne: ".$apprenants[2][1].", Rang: ".$apprenants[2][2].".<br>";
          echo "Prénom et nom: ".$apprenants[3][0].": Moyenne: ".$apprenants[3][1].", Rang: ".$apprenants[3][2].".<br>";
      // une première boucle pour parcourir l'ensemble des clés
      foreach ($apprenants as $cle => $valeurs) {
        //une deuxième boucle pour parcourir toutes les valeurs associées à une clé
        foreach ($apprenants[$cle] as $nom){
            echo($nom."</br>");
        }
       }
  4. Création d’un tableau multidimensionnel en PHP

    • Un tableau à deux dimensions est un tableau dont chaque ligne contient un autre tableau. Ce type de tableau est aussi appelé tableau multidimensionnel.
    • $apprenants = array(
          array('prenom'=>'Mohamed', 'nom'=>'HAJJI','age'=>20,'groupe'=>'MDI21'),
          array('prenom'=>'Samir', 'nom'=>'BLOUM','age'=>21,'groupe'=>'MDI21'),
          array('prenom'=>'Samira', 'nom'=>'MEJBRI','age'=>19,'groupe'=>'MDI21'),
          array('prenom'=>'Seddik', 'nom'=>'TAYEB','age'=>19,'groupe'=>'MDI21'),
          array('prenom'=>'Rafira', 'nom'=>'HAJJEJ','age'=>20,'groupe'=>'MDI21'),
          );
  5. Lire et afficher un tableau multidimensionnel en PHP

    • La boucle for peut permettre la lecture de tableaux multidimensionnels, à condition d’écrire autant de niveaux de boucles qu’il y a de dimensions dans le tableau.
    • La boucle foreach() nous permet de lire et afficher les données d’un tableau multidimensionnel, à condition d’écrire autant de niveaux de boucles qu’il y a de dimensions dans le tableau.
      • Le premier foreach() lit chaque ligne du tableau
      • Le deuxième foreach() lit chaque tableau de chaque ligne. On accède à ses propriétés et à ses valeurs avec les variables $cle et $valeur.
      <?php
      $apprenants = array(
          array('prenom'=>'Mohamed', 'nom'=>'HAJJI'),
          array('prenom'=>'Samir', 'nom'=>'BLOUM')
          );
      // Lecture de chaque ligne du tableau
      foreach($apprenants as $ligne){
              // Lecture de chaque tableau de chaque ligne
      	foreach($ligne as $cle=>$valeur){
              // Affichage
              echo $cle.': '.$valeur;
              echo '<br>';
      	}
      }
      ?>
  6. Utiliser la fonction array_keys ()

    • La fonction array_keys () est utilisée pour obtenir toutes les clés ou un sous-ensemble des clés d’un tableau.
    • Exemple
    • Les tableaux multidimensionnels en PHP

    • pour afficher ce tableau
    • Les tableaux multidimensionnels en PHP

  7. Applications

    1. Exercice 01
      1. Énoncé
        • On souhaite stocker les données de différents vendeurs dans différentes villes pour différents trimestres d’une année, dans un tableau multidimensionnel PHP.
        • Vendeur: Mohamed
        • Premier trimestre Deuxième trimestre Troisième trimestre Quatrième trimestre
          Tunis 36 23 98 88
          Nabeul 78 56 45 37
          Kairouan 24 58 16 01
          Tozeur 14 48 06 01
        • Vendeur: Moufida
        • Premier trimestre Deuxième trimestre Troisième trimestre Quatrième trimestre
          Tunis 22 67 71 98
          Nabeul 76 53 83 37
          Kairouan 45 69 23 45
          Tozeur 14 48 06 01
        • Vendeur: Samir
        • Premier trimestre Deuxième trimestre Troisième trimestre Quatrième trimestre
          Tunis 22 67 71 98
          Nabeul 76 53 83 37
          Kairouan 22 67 71 98
          Tozeur 14 48 06 01
        • Vendeur: Taysir
        • Premier trimestre Deuxième trimestre Troisième trimestre Quatrième trimestre
          Tunis 55 67 79 98
          Nabeul 76 58 88 87
          Kairouan 55 67 79 98
          Tozeur 91 18 06 09
      2. Solution
        • Les tableaux multidimensionnels en PHP

    2. Exercice 02
      1. Énoncé
        • Écrivez un tableau multidimensionnel associatif dont les clés sont des noms de personne et les valeurs des tableaux indicés contenant le prénom, la ville de résidence et l’âge de la personne.
        • Proposez deux méthodes pour lire le contenu du tableau.
      2. Solution
        • Les tableaux multidimensionnels en PHP

    3. Exercice 03
      1. Énoncé
        • Écrivez un tableau multidimensionnel associatif dont les clés sont des noms de personne et les valeurs des tableaux associatifs dont les clés sont le prénom, la ville de résidence et l’âge de la personne avec une série de valeurs associées.
      2. Solution
        • Les tableaux multidimensionnels en PHP

  • Références:
    • https://www.php.net
    • Livre PHP7 Cours et exercices Jean Engels 2e édition
    • Technologies de l’Information et de la Communication 4 année secondaire



Abonnez vous à notre chaîne YouTube gratuitement