Pas de surprises avec l’utilisation des travaux, l’utilisation est tout à fait classique.
4.1 Tableaux à une dimension
< ?
$bab[0] = “Biarritz”;
$bab[1] = ”Anglet”;
$bab[2] = ”Bayonne”;
print “Je vis à $bab[1]. <BR>’’ ;
?>
Dans les cas où l’on ne désire pas se préoccuper de mentionner les index, PHP le fera à votre place :
$bab [ ] = ‘’Biarritz”;
$bab [ ] = ”Anglet”;
$bab [ ] = ”Bayonne”;
Si l’on désire savoir combien de valeurs ont été entrées dans un tableau, on utilisera la fonction count (tableau) :
$limiteIndex = count ($bab) ; |
et pour les afficher :
for ($index = 0 ; $index < $limiteIndex ; $index++) {
print (“$bab[$index] <BR>”);
}
Il est également possible d'indexer les tableaux autrement qu'avec des entiers :
print "Exemples de tableaux : <br>";
$capitale[fr]="Paris";
$capitale["es"]="Madrid";
print "La capitale de l'Espagne est : $capitale[es]";
A noter que les guillemets ne sont pas nécessaires à l'initialisation, mais ils ne doivent pas être mis à l'utilisation…autant dire qu'il est inutile de les mettre !
4.2 Initialisation
Il est également possible de déclarer un tableau avec ses initialisations. Ce type de tableau est appelé associatif :
< ?
$mois=array(2=> ‘’Janvier’’, ‘’Février’’, ‘’Mars’’,
‘’Avril’’, ‘’Mai’’, ‘’Juin’’, ‘’Juillet’’, ‘’Août’’, ‘’Septembre’’, ‘’Octobre‘’, ‘’Novembre’’, ‘’Décembre’’) ;
?>
print ‘’Mois de $mois[5]’’ ; affichera “ Mois de Avril ”.
L’opérateur => permet ici de faire démarrer le tableau à l’index 2 et non pas 0 comme c’est le cas par défaut.
Enfin, il n'est pas nécessaire d'avoir des tableaux avec des indices numériques successifs.
$tabbizarre[12] = "pas bien grand";
$tabbizarre[1025] = "plutot grand";
$tabbizarre[15215] = "très grand";
Afin d'accéder aux éléments, un ensemble
de fonctions sont définies :
print "Key : ".key($tabbizarre)." <br>";
print "Current : ".current($tabbizarre)." <br>";
print "Next : ".next($tabbizarre)." <br>";
print "Prev : ".prev($tabbizarre)." <br>";
> Key : 12
> Current : pas bien grand
> Next : plutot grand
> Prev : pas bien grand
Afin de réaliser un parcours efficace de ce genre de tableaux, deux fonctions sont bien utiles. La fonction each permet de renvoyer uniquement les éléments du tableau contenant les données. La fonction list ($indice, $valeur) récupère l'indice et la valeur de l'élément.
while (list($indice,$contenu) = each ($tabbizarre)) print "$contenu <br>"; |
4.3 Tri de tableaux
La fonction sort() permet de trier dans l'ordre alphabétique le contenu d'un tableau. Sa cousine ksort() fait de même mais dans l'ordre inverse. Les deux autres asort() et arsort()font la même chose mais pour des tableaux avec indice entiers.
$tabatrier[] = "albert";
$tabatrier[] = "george";
$tabatrier[] = "bacus";
sort($tabatrier);
while (list($indice,$contenu) = each ($tabatrier))
print "$contenu <br>";
print "<br>";
rsort($tabatrier);
while (list($indice,$contenu) = each ($tabatrier))
print "$contenu <br>";
> albert
> bacus
> george
> george
> bacus
> albert
4.4 Tableaux à dimensions multiples
L’utilisation
de tableaux à dimensions multiples est là encore semblable aux autres
langages. Ainsi si un tableau représente un échiquier, nous accéderons
aux valeurs en faisant par exemple :