Les tableaux

Un tableau est un type de variable structuré, composé de cases successives ordonnées contenant des valeurs.
Chaque case particulière est repérée par un index, encore appelé indice.

Il existe 2 types de tableaux en PHP :

  • les tableaux scalaires, indexés par des numérique
  • les tableaux associatifs, indexés par un nom

On accède à un élément d’un tableau grace à l’opérateur ‘[]’.
et l’index de l’élément recherché.

$tableau[1];
$tableau [« mercredi »];

Note : la première case d’un tableau porte l’index numérique 0 …et non pas 1

Remplir et lire un tableau avec l’opérateur []

On peut donc utiliser l’opérateur crochet, pour le remplir case par case…

// en utilisant des indices numériques
$passe_temps[0] = « Tennis »
$passe_temps[1] = « Planche à voile »;
$passe_temps[2] = « Snowboard »;

// ou implicitement, de manière séquentielle
$passe_temps[] = « Tennis »
$passe_temps[] = « Planche à voile »;
$passe_temps[] = « Snowboard »;

// et avec des indices non numérique
// (tableau associatif…
$couleur[« rouge »] = « #FF0000 »;
$couleur[« vert »] = « #00FF00 »;

$couleur[« bleu »] = « #0000FF »;

Pour afficher le contenu d’un tableau, on utilise également l’opérateur ‘[]’.
Pour le lire en totalité on pourra faire ine boucle ‘for’ ou utiliser des fonctions prédéfinies de PHP…

print (« code du bleu = « .$couleur[« bleu »]);
for ($i=0; $i<3; $i++)
{
print ($passe_temps[i] . »<br> »);
}

Création d’un tableau avec Array()

Le constructeur array() crée un tableau et le remplit avec les paramètres passés …
remarque: array() n’est pas une fonction au sens strict du terme.

On peut utiliser un opérateur spécial,’=>’ pour définir en même temps les index et leurs valeurs, en notant ainsi « index => valeur »

// un tableau de chiffres
// avec des index numériques implicites commencant à 0
$tab_chiffres = array (1, 2, 3, 4, 5, 6);
// un tableau associatif de chaines de caractères
$tab_fruits  = array (« a »=> »orange », « b »=> »banane », « c »=> »pomme »);

La fonction print_r(nom_variable_tableau) permet d’afficher automatiquement tous les éléments d’un tableau.
On ne peut pas personnaliser l’affichage, mais cette fonction est très pratique pour faire des tests, ou du déboggage.

On peut mélanger les index implicites avec des clés / index explicites, comme ici

<?php
$tab = array( 1, 1, 1, 1, 1, 8=>1,  4=>1, 19, 3=>13);
print_r($array);
?>

Cela nous donne :

Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 13
[4] => 1
[8] => 1
[9] => 19
)

Fonctions spéciales d’accès à un tableau (foreach, prev, next …et les autres)

Il existe une fonction ‘foreach’ spécialisée dans la lecture de tableaux, simple et rapide.
Elle s’utilise de la sorte :

<?php
// lire les valeurs
foreach($tableau as $valeur)
{
echo « $valeur<br /> »;
}
// l’indice ET les valeurs
foreach($tableau as $ind => $val)
{
echo « $ind : $val<br /> »;
}
?>

On peut aussi dans certains cas avoir besoin d’accéder séquentiellement à un tableau, ou faire des accès relatifs de type ‘suivant’ / ‘précédent’ comme on le ferait dans un fichier. On utilisera pour cefaire quelques fonctions spéciales :

reset() : remet le pointeur de tableau au début
pos() : renvoit la valeur de l’élément courant
key() : renvoit l’indice de l’élément courant
next() : avance le pointeur
prev() : recule le pointeur
end() : met le pointeur en fin de tableau.