Forum
Posez vos questions, ici
 

6.Le langage PHP

6.5.Les tableaux (array)

6.5.1.Introduction

Afin de manipuler une liste (ordonnée) de valeurs vous disposer du type tableau (ou en anglais array).

6.5.2.Initialisation

Un tableau (vide) peut être initialisé de la façon suivante
<?php
$tableau = array();
?>
Il peut ensuite être rempli comme suit
<?php
$tableau[] = 'valeur1';
$tableau[] = 'valeur2';
$tableau[] = 'valeur3';
?>
Les valeurs contenues dans le tableau peuvent être de tout type (chaîne de caractères, entier, tableau, objet, etc.).

6.5.3.Tableau indexé

Dans l'exemple précédent, nous avons construit un tableau dans lequel chaque élément est repéré (automatiquement) par un indice numérique. On parle de tableau indexé. Le premier indice du tableau est alors 0 (chaque nouvel ajout est associé à l'indice immédiatement supérieur au plus grand indice déjà utilisé). Ainsi, l'élément du tableau associé à l'indice 0 contient la valeur 'valeur1' (et les suivants 1, 2, etc.) et peut être affiché ou modifié comme cela
<?php
echo $tableau[0];
$tableau[0] = 'nouvelle valeur 1';
?>
Si le contenu attendu du tableau est connu au moment de l'initialisation vous pouvez le construire directement par
<?php
$tableau = array('valeur1', 'valeur2', 'valeur3');
?>

6.5.4.Tableau associatif

Les tableaux peuvent également comporter des indices sous forme de texte. On parle alors de tableau associatif. A un terme est associée une valeur comme dans les exemples suivants:
<?php
$tableau = array();
$tableau['nom'] = 'dupont';
$tableau['prenom'] = 'jean';
?>
<?php
$tableau = array('nom' => 'dupont', 'prenom' => 'jean');
?>

6.5.5.Tableau indexé et associatif

Il est tout à fait possible de mixer les 2 types d'index (et de préciser ou pas l'index numérique):
<?php
$tableau = array();
$tableau[] = 'index 0';
$tableau['prenom'] = 'index prenom';
$tableau[2] = 'index 2';
$tableau[] = 'index 3';
$tableau['nom'] = 'index nom';
?>
<?php
$tableau = array('index 0', 'prenom' => 'index prenom', 2 => 'index 2',
                  'index3', 'index nom');
?>

6.5.6.Lister les éléments d'un tableau

Il existe moult façons de parcourir le contenu d'un tableau, nous vous présentons ici les plus fréquentes.
Si votre tableau contient 10 éléments numérotés de 0 à 9 vous pouvez en afficher le contenu par
<?php
for ($i=0; $i<10; $i++) {
    echo $tableau[$i].' '; // Avec insertion d'un espace entre 2 valeurs
}
?>
Il se trouve qu'en pratique, pour parcourir l'ensemble du tableau, vous n'indiquerez pas en dur la taille du tableau mais vous ferez appel à la fonction count() qui vous indiquera le nombre d'éléments dans le tableau. Ce qui donne en fait:
<?php
for ($i=0; $i<count($tableau); $i++) {
    echo $tableau[$i].' '; // Avec insertion d'un espace entre 2 valeurs
}
?>
remNotez bien que cette façon de faire n'est valable que si le tableau n'est constitué que d'index numériques entre 0 et le dernier élément du tableau.
Si votre tableau n'est pas purement indexé, alors vous aurez tout intérêt à opter pour la méthode suivante
<?php
foreach ($tableau as $valeur) {
    echo $valeur.' '; // Avec insertion d'un espace entre 2 valeurs
}
?>
et si vous souhaitez connaître l'indice (ou la clé) associée à chaque valeur pour pouvez modifier légèrement le code en
<?php
foreach ($tableau as $cle => $valeur) {
    echo $valeur.' '; // Avec insertion d'un espace entre 2 valeurs
    // la cle associée à cette valeur est $cle
}
?>