Un tableau est le moyen de désigner sous un même nom de variable plusieurs données de même type.
Pour se représenter une telle variable, on imagine que chaque valeur constituant le tableau est dans une case distincte.
$tab
1
8
5
4
2
7
9
0
1
2
3
4
5
6
$tab est le nom de la variable tableau.
Le tableau contient 7 éléments (7 valeurs ou 7 "cases").
Les différentes valeurs contenues dans le tableau sont repérées grâce à un indice.
L'indice est une valeur entière (pour désigner une case du tableau).
L'indice est numéroté à partir de 0.
Si le tableau cntient N éléments, les indice varieront dans le domaine: [0;N-1]
Déclaration
Il n'est pas forcément nécessaire de déclarer un tableau, même si cette possibilité existe:
On peut utiliser la fonction array() pour déclarer et initialiser un tableau.
Le code suivant permettra de définir le tableau ci-dessus.
<?php
$tab=array(1,8,5,4,2,7,9);
?>
Affectation
Chaque case du tableau peut-être vue comme une variable simple.
La seule différence réside dans l'utilisation de l'indice.
L'indice est repéré par des crochets.
Dans l'exemple ci-dessus, on a modifié la valeur de la case d'indice 0 (la première) en l'affectant à 17.
17
8
5
4
2
7
9
Restitution
Là aussi, la seule différence par rapport à une variable simple réside dans l'utilisation de l'indice pour repérer l'élément que l'on souhaite atteindre.
L'exemple suivant propose deux utilisations:
Affichage de l'élément d'indice 5
Affectation de l'élément d'indice 2 dans une variable $valeur.
<?php
echo $tab[5];
$valeur=$tab[2];
?>
Les tableaux associatifs
PHP nous permet d'utiliser des tableaux associatifs.
La différence avec un tableau classique est que l'index n'est plus numérique, mais lui-même une variable string.
Par exemple, admettons que l'on veuille mémoriser dans un tableau des identifiants pour se connecter à un site Web.
On va avoir besoin de mémoriser:
Nous avons dans un premier temps créé un tableau vide, puis nous avons ajouté des éléments.
Nous obtenons un tableau $membre qui contient:
D@rkV@doR
123456
lucien.dupont@free.fr
Nous utiliserons ces tableaux associatifs lorsque nous manipulerons des données issues de bases de données.
Tableau multi-dimensionnels
Dans les exemple précédents, tous les tableaux utilisés étaient à une dimension. C'est à dire que l'on peut les représenter sur une ligne.
On peut tout à fait utiliser d'autres dimensions: Par exemple, un tableau à deux dimensions est un tableau qui comportera plusieurs lignes et plusieurs colonnes.
Il est difficile de se représenter mentalement des tableaux ayant plus de 3 dimensions, mais il est tout à fait possible d'en implémenter sur un script PHP.
La seule limitation sera dans l'espace mémoire utilisé qui risque d'être vite saturé si l'on utilise un grand nombre de dimensions.
Si nous reprennons l'exemple précédent, on voit que le tableau que l'on avait créé ne permet de mémoriser qu'un membre.
On va créer un tableau $utilisateurs pour mémoriser plusieurs membres.
La boucle permet de parcourir tous les éléments du tableau.
On affecte à chacun une valeur aléatoire comprise entre 0 et 100 grâce à la fonction rand().
<?php
for ($i=0;$i<50;$i++)
{
$tab[$i]=rand(0,100);
}
?>
La fonction foreach()
Cette fonction est très pratique pour parcourir les tableaux associatifs.
For Each peut se traduire par "Pour chaque élément".
Cette fonction nous dispense de calculer le nombre d'éléments, elle va parcourir l'ensemble du tableau et on va retrouver les valeurs successives du tableau dans une variable que l'on aura indiqué.
Exemple: Voici le code pour afficher le tableau à deux dimensions $utilisateurs:
Puisqu'on utilise un tableau à 2 dimensions, il faut implanter 2 boucles.
La 1ière va nous permettre de parcourir le tableau $utilisateurs et à chaque tour de boucle, elle stockera dans la variable $membre une ligne du tableau $utilisateurs.
La 2ième va nous permettre de parcourir le tableau $membre et à chaque tour de boucle, elle stockera dans la variable $value une case du tableau $membre.