Les tableaux PHP (array) représentent la structure de données la plus importante du langage PHP.
array() retourne un tableau créé avec les paramètres passés.
Un array est une variable spéciale qui peut contenir plusieurs valeurs.
On trouve deux types distincts de tableaux : les tableaux à index numériques et les tableaux associatifs.
Tableaux numérotés
Nous allons commencer par un tableau numérique simple.
Il faut lui indexer des valeurs. Les index de tableaux commencent toujours par 0 et sont placés entre crochets. Dans l'exemple ci-dessous 0 correspondra donc à chiens, 1 à chats, 2 à chevaux ...
<?php
$animaux=array("chiens","chats","chevaux","singes", "reptiles","oiseaux");
echo $animaux[0]."<br>";
echo $animaux[1]."<br>";
echo $animaux[2]."<br>";
echo $animaux[3]."<br>";
echo $animaux[4]."<br>";
?>
Ce qui vous donnera :
chiens
chats
chevaux
singes
reptiles
Les tableaux numérotés peuvent être représentés ainsi :
Clé Valeur
0 chiens
1 chats
2 chevaux
Un autre exemple ci-dessous avec une liste de prénoms où on va afficher l'index 2 . Dans cet exemple, Martin sera donc affiché sachant qu'on démarre à l'index 0 avec Nadine.
<?php
$prenoms = array ('Nadine', 'Pierre', 'Martin', 'Annie', 'Jean');
echo $prenoms [2];
?>
Nous allons maintenant :
- Créer un tableau contenant des voitures
- Ajouter une nouvelle valeur au tableau
- Afficher la voiture à l'index 3
- Afficher la voiture ajoutée
<?php
// Déclaration d'un tableau indexé numériquement
$voitures = array('Toyota','BMW','Renault','Peugeot');
// Ajout d'une voiture au tableau
$voitures[] = 'Mercedes';
// Affichage de la voiture peugeot
echo $voitures[3];
// Affichage de la dernière voiture ajoutée
echo '<br />' .$voitures[4];
?>
Pour ajouter une valeur, nous avons donc placé des crochets. En les laissant vide, la valeur s'ajoutera en fin de position.
Nous aurions également pu la positionner à un index précis :
$voitures[16] = 'Mercedes';
A VOUS !
Une classe a 5 élèves ayant pour prénom : Johann, Thierry, Théo, Nadège et Elisa.
Ces cinq élèves ont obtenu respectivement comme note à leur examen : 12, 18, 4, 10, 16.
Affichez le prénom du deuxième et troisième élève ainsi que leur note obtenue à l'examen.
Les tableaux associatifs
Un tableau associatif est composée d'une clé chainée/valeur. A chaque clé est associée une valeur.
$clients ['ville'] = 'Paris';
La valeur 'Paris' est affecté à l'élément du tableau $clients indexé par (dont la clé est) 'ville'.
On peut ensuite compléter avec d'autres valeurs.
$clients ['ville'] = 'Paris';
$clients ['nom'] = 'Millet';
$clients ['prenom'] = 'Jean';
$clients ['adresse'] = '2 rue des bois';
Pour écrire ce même code d'une façon plus concise, on va utiliser la fonction array, ce sera une affectation en bloc.
On va extraire dans ce même code le nom du client.
<?php
$clients = array(
'ville' => 'Paris',
'nom' => 'Millet',
'prenom' => 'Jean',
'adresse' => '2 rue des bois');
echo $clients['nom'];
?>
Parcourir un tableau en PHP
Pour parcourir un tableau on utilise la boucle foreach (for peut être également utilisé mais moins adapté).
La boucle foreach permet de passer en défilé chaque ligne de tableau.
<?php
// Affichage des valeurs d'un tableau
foreach($Tableau as $value)
{
echo $value ,'<br/>';
}
?>
La boucle s'arrêtera quand on aura passé tous les éléments de l'array en revue.
<?php
$semaine=array ('lundi', ' mardi ', 'mercredi', ' jeudi ', 'vendredi', 'samedi', 'dimanche') ;
foreach ($semaine as $value)
{
echo 'Nous sommes '.$value. ' <br> ' ;
}
?>
A VOUS !
Afficher les mois de l'année avec foreach et indiquez ensuite en récupérant les index : "Juillet est un mois d'été, janvier est un mois d'hiver".
Nous aurions également pu utiliser la fonction implode qui permet d'extraire les valeurs d'un tableau array. N'hésitez pas à tester !