Le tableau est une variable qui contient plusieurs valeurs. Il existe deux types de tableaux : les tableaux indexés par des nombres de 0 à n et les tableaux indexés par des noms.
L’index est le groupe d’indices qui permet de classer les données à
l’intérieur d’un tableau afin de pouvoir insérer des valeurs et les retirer le
cas échéant.
Les tableaux à index de noms sont des tableaux de hachage et ceux à
index numérique sont appelés simplement des tableaux. Enfin, les tableaux
multidimensionnels sont des tableaux qui contiennent d’autres
tableaux et non des valeurs scalaires.
Les tableaux à index numérique
Pour entrer des données dans un tableau, il suffit d’utiliser les crochets :
$mon_tableau[]=$ma_case1;
La valeur de $ma_case1 se logera dans la première cellule du tableau,
qui est à l’indice 0. La deuxième valeur sera logée dans la cellule
d’indice 1, etc..
Vous pouvez choisir la case où sera insérée votre valeur :
$mon_tableau[4]=$ma_case1;
Ici, la valeur sera insérée dans la 5e case.
Pour récupérer une valeur du tableau, il suffit de connaître sa place :
$ma_valeur=$mon_tableau[4];
echo $ma_valeur;
echo "<br>";
//une autre façon de faire
echo "$mon_tableau[4]";
Les tableaux de hachage (ou tables d’adressage associatif)
Ces tableaux sont indexés par nom, ce qui est souvent plus pratique, un
peu comme les URL d’Internet.
Il est plus facile de taper et de mémoriser www.multidimensionalmusic.com que 207.158.192.40, numéro IP du serveur.
Nous utilisons le même système pour insérer une donnée ou la récupérer mais il est plus facile de retrouver une donnée avec un nom.
Le nom ou le nombre qui indexe est appelé une clé et la valeur correspondante une valeur. Pour ce type de tableau, on parle d’une paire clé/valeur.
Les tableaux multidimensionnels
Ce type de tableau est formé de tableaux de hachage ou de tableaux, ou d’un mélange des deux.
La clé s’appuie sur le même principe que les deux types de tableaux précédents mais la valeur peut être un tableau à 1 ou n tranches.
Rabelais a écrit plusieurs livres. Créons un nouveau tableau de hachage
contenant un tableau :
$livres[]="Gargantua";
$livres[]="Pantagruel";
$auteurs [’François Rabelais’]=$livres;
echo $auteurs [’François Rabelais’][1];
//affichera Pantagruel
Essayons maintenant un tableau de hachage contenant un tableau de hachage :
$livres[’premier livre’]="Gargantua";
$livres[’deuxième livre’]="Pantagruel";
$auteurs [’François Rabelais’]=$livres;
echo $auteurs [’François Rabelais’][’premier livre’];
//affichera Gargantua
Nous n’avons pas encore essayé un tableau contenant un tableau de hachage :
$livres[’premier livre’]="Gargantua";
$livres[’deuxième livre’]="Pantagruel";
$auteurs []=$livres;
echo $auteurs [0][’premier livre’];
//affichera Gargantua
Enfin, il n’y a pas de raison de délaisser le tableau contenant un tableau,
surtout qu’il se révèle très utile dans les boucles, comme nous le verrons
dans le chapitre MySQL en action :
$livres[]="Gargantua";
$livres[]="Pantagruel";
$auteurs []=$livres;
echo $auteurs [0][1];
//affichera Pantagruel
Vous pouvez mélanger les deux types d’index dans le même tableau :
$livres[6]="Pantagruel";
$livres[’premier livre’]="Gargantua";
$livres[]="Tiers livre";
/* la clef sera donc 7, un numéro au-dessus de 6 l’indice maximum
précédent*/
$livres[6]="Quart livre";
/* cette dernière insertion écrasera l’ouvrage Pantagruel qui a le
même indice*/
$auteurs []=$livres;
echo $auteurs [0][6];
//affichera Quart livre
Vous pouvez aussi empiler des tableaux sur autant de niveaux que vous
pouvez en concevoir mais vous aurez peu d’occasions de les utiliser sur
autant de niveaux et perdriez beaucoup de temps à les concevoir.
L’index est le groupe d’indices qui permet de classer les données à
l’intérieur d’un tableau afin de pouvoir insérer des valeurs et les retirer le
cas échéant.
Les tableaux à index de noms sont des tableaux de hachage et ceux à
index numérique sont appelés simplement des tableaux. Enfin, les tableaux
multidimensionnels sont des tableaux qui contiennent d’autres
tableaux et non des valeurs scalaires.
Les tableaux à index numérique
Pour entrer des données dans un tableau, il suffit d’utiliser les crochets :
$mon_tableau[]=$ma_case1;
La valeur de $ma_case1 se logera dans la première cellule du tableau,
qui est à l’indice 0. La deuxième valeur sera logée dans la cellule
d’indice 1, etc..
Vous pouvez choisir la case où sera insérée votre valeur :
$mon_tableau[4]=$ma_case1;
Ici, la valeur sera insérée dans la 5e case.
Pour récupérer une valeur du tableau, il suffit de connaître sa place :
$ma_valeur=$mon_tableau[4];
echo $ma_valeur;
echo "<br>";
//une autre façon de faire
echo "$mon_tableau[4]";
Les tableaux de hachage (ou tables d’adressage associatif)
Ces tableaux sont indexés par nom, ce qui est souvent plus pratique, un
peu comme les URL d’Internet.
Il est plus facile de taper et de mémoriser www.multidimensionalmusic.com que 207.158.192.40, numéro IP du serveur.
Nous utilisons le même système pour insérer une donnée ou la récupérer mais il est plus facile de retrouver une donnée avec un nom.
Le nom ou le nombre qui indexe est appelé une clé et la valeur correspondante une valeur. Pour ce type de tableau, on parle d’une paire clé/valeur.
Les tableaux multidimensionnels
Ce type de tableau est formé de tableaux de hachage ou de tableaux, ou d’un mélange des deux.
La clé s’appuie sur le même principe que les deux types de tableaux précédents mais la valeur peut être un tableau à 1 ou n tranches.
Rabelais a écrit plusieurs livres. Créons un nouveau tableau de hachage
contenant un tableau :
$livres[]="Gargantua";
$livres[]="Pantagruel";
$auteurs [’François Rabelais’]=$livres;
echo $auteurs [’François Rabelais’][1];
//affichera Pantagruel
Essayons maintenant un tableau de hachage contenant un tableau de hachage :
$livres[’premier livre’]="Gargantua";
$livres[’deuxième livre’]="Pantagruel";
$auteurs [’François Rabelais’]=$livres;
echo $auteurs [’François Rabelais’][’premier livre’];
//affichera Gargantua
Nous n’avons pas encore essayé un tableau contenant un tableau de hachage :
$livres[’premier livre’]="Gargantua";
$livres[’deuxième livre’]="Pantagruel";
$auteurs []=$livres;
echo $auteurs [0][’premier livre’];
//affichera Gargantua
Enfin, il n’y a pas de raison de délaisser le tableau contenant un tableau,
surtout qu’il se révèle très utile dans les boucles, comme nous le verrons
dans le chapitre MySQL en action :
$livres[]="Gargantua";
$livres[]="Pantagruel";
$auteurs []=$livres;
echo $auteurs [0][1];
//affichera Pantagruel
Vous pouvez mélanger les deux types d’index dans le même tableau :
$livres[6]="Pantagruel";
$livres[’premier livre’]="Gargantua";
$livres[]="Tiers livre";
/* la clef sera donc 7, un numéro au-dessus de 6 l’indice maximum
précédent*/
$livres[6]="Quart livre";
/* cette dernière insertion écrasera l’ouvrage Pantagruel qui a le
même indice*/
$auteurs []=$livres;
echo $auteurs [0][6];
//affichera Quart livre
Vous pouvez aussi empiler des tableaux sur autant de niveaux que vous
pouvez en concevoir mais vous aurez peu d’occasions de les utiliser sur
autant de niveaux et perdriez beaucoup de temps à les concevoir.
Aucun commentaire:
Enregistrer un commentaire