Langage de programmation PHP
Chapitre 1. Introduction
Chapitre 2. Variables, opérateurs et expressions
Chapitre 3. Instructions de contrôle
Chapitre 4. Tableaux
Chapitre 5. Entrées/Sorties
Chapitre 6. Réutilisation de code
Chapitre 7. Lecture/écriture de fichiers
Chapitre 8. Fonctions diverses
Chapitre 9. Sérialisation
Chapitre 10. Fonctions orientées réseau
Chapitre 11. Base de données
Chapitre 12. Manipulations d’images
Chapitre 13. Programmation objet : PHP et les classes ( PHP 4/PHP 5)
Chapitre 14. Gestion des Exceptions (PHP 5)
Chapitre 15. Contrôle de sessions
Chapitre 16. PHP - Ajax
Chapitre 17. Webservices & SOAP
Chapitre 18. PHP en chiffre
Chapitre 19. Conclusion
Chapitre 20. Bibliographie
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

Chapitre 4. Tableaux

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 :

$echiquier[5][4] ;

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante