Les tableaux multidimensionnels en PHP
Les tableaux multidimensionnels en PHP
-
Objectifs
- Etre capable de créer , afficher et trier des tables multidimensionnels en PHP
-
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.
-
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 :
- Soit le tableau suivant:
- Nous pouvons stocker les données du tableau ci-dessus dans un tableau à deux dimensions, comme ceci:
- 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):
-
Création d’un tableau multidimensionnel en PHP
- Il existe plusieurs méthodes pour créer un tableau multidimensionnel en PHP, en fonction de votre préférence ou de votre besoin. Voici trois méthodes courantes pour créer un tableau multidimensionnel :
-
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
. -
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
- pour afficher ce tableau
-
Applications
-
Exercice 01
-
É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
- Vendeur: Moufida
- Vendeur: Samir
- Vendeur: Taysir
-
Solution
-
Exercice 02
-
É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.
-
Solution
-
Exercice 03
-
É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.
-
Solution
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 |
$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)
);
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>");
}
}
$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'),
);
<?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>';
}
}
?>
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 |
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 |
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 |
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 |
- 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