Un tableau est une variable spéciale qui permet de stocker plusieurs valeurs.
Par exemple, on pourra avoir un tableau nommé $etapes qui contiendra les valeurs "Déclaration", "Initialisation" et "Affichage".
En PHP, les tableaux sont dynamiques c'est-à-dire qu'ils peuvent changer de taille selon les besoins. Le même tableau pourra donc contenir 0, 3 ou 15 éléments si nécessaire.
De plus, les tableaux PHP permettent de stocker des éléments de différents types, par exemple un entier, une chaîne et un booléen.
Contrairement aux autres variables PHP, il est nécessaire de déclarer les tableaux.
Il est d'usage d'utiliser un mot au pluriel pour nommer les tableaux.
$etapes = array();
Cette syntaxe est équivalente :
$etapes = [];
Il est possible d'initialiser le tableau dès la déclaration.
$etapes = array( "Déclaration", "Initialisation", "Affichage" );
ou :
$etapes = ["Déclaration", "Initialisation", "Affichage"];
Il est également possible d'initialiser un tableau après sa déclaration.
$etapes[0] = "Déclaration";
Et voici un exemple qui utilise des tableaux à deux et à trois dimensions :
$canevas[0][2] = $valeur;
$resultats[$i][$j][$k] = $nombre;
Si vous désirez ajouter un élément à la fin du tableau sans avoir à retrouver le numéro du dernier élément, vous pouvez simplement ouvrir et refermer les crochets carrés.
$etapes[] = "Initialisation";
$etapes[] = "Affichage";
Pour afficher un élément du tableau, vous devez simplement le faire suivre par son numéro d'élément.
Attention : le premier élément d'un tableau PHP porte l'indice 0.
echo $etapes[0]; // affiche Déclaration
Dans les exemples présentés plus haut, on avait des tableaux à indices numériques, c'est-à-dire que chaque élément pouvait être retrouvé à l'aide d'un nombre qui représente sa position dans le tableau.
Il est possible d'utiliser un nom pour identifier chaque élément. On aura alors un tableau associatif.
Un tableau associatif sera sous la forme :
$tableau = array( 'cle1' => 'valeur1', 'cle2' => 'valeur2' );
$configurations = array( 'usager' => 'toto', 'langue' => 'fr', 'position_menu' => 'gauche' );
ou :
$configurations = ['usager' => 'toto', 'langue' => 'fr', 'position_menu' => 'gauche'];
Pour ajouter un élément ou modifier un élément existant, il faudra toujours travailler avec la clé.
$configurations['langue'] = 'en';
$configurations['position_menu'] = 'gauche';
Pour afficher une valeur tirée d'un tableau associatif, il faut également travailler avec la clé de l'élément désiré.
echo $configurations['langue'];
Attention : si vous désirez faire afficher plusieurs informations dans le même echo, l'élément du tableau associatif devra être entouré d'accolades.
echo "Langue : {$configurations['langue']}";
La structure de contrôle foreach est toute indiquée pour boucler dans les éléments d'un tableau.
Le foreach prend un seul paramètre sous la forme $tableau as $element. Ainsi, à l'intérieur de la boucle, la variable $element contiendra la valeur de l'élément que la boucle est rendue à traiter.
foreach( $tableau as $element ) {
...
}
Si le nom du tableau est un mot au pluriel, on utilisera généralement le mot au singulier pour identifier chaque élément.
echo "Étapes : <ul>";
foreach( $etapes as $etape ) {
echo "<li>$etape</li>";
}
echo "</ul>";
Ceci affichera :
• Déclaration
• Initialisation
• Affichage
Lorsqu'on travaille avec un tableau associatif, la boucle foreach nous permet de travailler facilement avec la clé et avec la valeur de chaque élément du tableau.
Ainsi, à l'intérieur de la boucle, on pourra travailler avec la clé de l'élément actuellement traité de même qu'avec sa valeur.
foreach( $tableau as $cle => $valeur ) {
...
}
echo "Configurations : <ul>";
foreach( $configuration as $cle => $valeur ) {
echo "<li>$cle : $valeur</li>";
}
echo "</ul>";
Ceci affichera :
• usager : toto
• langue : fr
• position_menu : gauche
Si le tableau n'est pas associatif, la clé est en fait l'indice de l'élément. Le foreach permettra donc de travailler avec l'indice de chaque élément.
Ceci est pratique pour monter une chaîne de caractères dont les éléments sont séparés par une virgule.
foreach( $etapes as $indice => $valeur ) {
if ( $indice > 0 ) {
echo ', ';
}
echo $valeur;
}
Et voilà le résultat :
Déclaration, Initialisation, Affichage
Avec un tableau associatif à deux dimensions, il est possible d'extraire dans un nouveau tableau les valeurs qui correspondent à une clé donnée.
$traduction = [
['anglais' => 'cat', 'francais' => 'chat'],
['anglais' => 'dog', 'francais' => 'chien'],
['anglais' => 'bird', 'francais' => 'oiseau']
];
$motsFrancais = array_column( $traduction, 'francais' ); // ['chat', 'chien', 'oiseau']
« Les tableaux ». PHP. https://www.php.net/manual/fr/book.array.php
▼Publicité