Cours ⇒ Cour PHP facebook twitter youtube

Les Variables, constantes et types ⇒ & Les tableaux



Les tableaux représentent un type composé car ils permettent de stocker sous un même
nom de variable plusieurs valeurs indépendantes d'un des types de base que vous venez
de voir. C'est comme un tiroir divisé en compartiments. Chaque compartiment, que nous
nommerons un élément du tableau, est repéré par un indice numérique (le premier ayant
par défaut la valeur 0 et non 1). D'où l'expression de tableau indicé.
Chaque élément peut aussi être identifié par une étiquette, qui est une chaîne de caractères
ou une variable de type string, nommée clé, associée à l'élément du tableau. Ce type
de tableau est appelé tableau associatif.
Les éléments de ces tableaux peuvent être de type integer, double, boolean, string ou
même array, ce qui permet de créer des tableaux de tableaux, c'est-à-dire des tableaux
multidimensionnels, ce que PHP ne permet pas explicitement, contrairement à d'autres
langages.

Les éléments d'un tableau pourraient aussi être des types object ou resource, qui sont
présentés dans les sections suivantes.
D'une manière primaire, vous définissez la valeur d'un élément de tableau indicé à l'aide
de la syntaxe à crochets [], avec un nom de variable, suivi des crochets, qui contiennent
l'indice ou la variable de type integer :

$tab[0] = 2004;
$tab[1] = 31.14E7;
$tab[2] = "PHP5";
$tab[35] = $tab[2]. "et MySQL";
$tab[] = TRUE;//voir les paragraphes suivants
$ind = 40;
$tab[$ind] = "Dernier élément";
echo "Nombre d'éléments = ", count($tab);

La variable $tab est un tableau par le simple fait que son nom est suivi de crochets et d'un
indice. Il contient maintenant six éléments de types variés.
Les trois premiers éléments sont affectés en utilisant des indices incrémentés d'une unité.
Pour le quatrième élément, l'indice utilisé ne succède pas aux précédents. Cela implique
que les éléments d'indice 3 à 34 sont non seulement vides mais n'existent pas. En effet,
la fonction count($tab), qui retourne le nombre d'éléments du tableau qui lui est passé en
paramètre, retourne ici la valeur 6 (en réalité, ces éléments sont de type NULL).
L'élément suivant est affecté sans qu'aucun indice soit précisé. Dans ce cas, il a automatiquement
l'indice suivant celui de l'élément précédemment affecté, soit ici l'indice 36.
L'avantage de cette syntaxe est de permettre d'ajouter un nouvel élément à la fin d'un
tableau sans connaître la valeur du premier indice disponible.
Le dernier élément est créé en lui donnant comme indice la valeur d'une variable de type
integer qui est de 40.
Pour lire la valeur d'un élément de tableau dans un script, il suffit d'utiliser la même
syntaxe en précisant l'indice de la valeur désirée.
L'exemple suivant :
echo "<p> Le langage préféré de l'Open source est $tab[2] <br />";
echo " Utilisez $tab[35] </p>";
affiche :
Le langage préféré de l'Open source est PHP
Utilisez PHP et MySQL
La syntaxe permettant de définir les éléments de tableaux associatifs est similaire, mais
vous remplacez l'indice numérique par une chaîne de caractères quelconques ou par une
variable ou une constante de type string. Il ne faut donc pas oublier d'inclure cette
chaîne dans des apostrophes ou des guillemets, faute de quoi vous vous exposez à quelques
problèmes dans des cas particuliers.

Exemple

Création de tableaux associatifs

<?php
$tab2["zéro"] = 2003;
$tab2['un'] = 31.14E7;
$tab2["deux"] = "PHP";
//***La ligne suivante provoque une erreur si elle est décommentée
//echo "<p> Vous utilisez $tab2['deux'] <br />";
//***on écrira à la place:
echo "<p> Vous utilisez {$tab2['deux']} <br />";
define("CTE","lang");//Crée la constante CTE
$tab2["lang"] = " PHP ET MySQL";
$tab2[CTE] = " ASP.NET";
$tab2["CTE"] = "JAVA";
echo "Le nombre d'éléments est ", count($tab2),"<br />";
echo "L'élément \$tab2[\"CTE\"] vaut ",$tab2["CTE"],"<br / >";
echo "L'élément \$tab2[CTE] vaut ",$tab2[CTE],"<br />";
echo "<p> Le langage préféré de l _ Open source est{$tab2["lang"]} <br />";
?>

Le script retourne le résultat suivant :

 



Vous utilisez PHP
Le nombre d'éléments est 5
L'élément $tab2["CTE"] vaut JAVA
L'élément $tab2[CTE] vaut ASP.NET
Le langage préféré de l'Open source est ASP.NET

 

 


Remarquez que la dernière ligne ne correspond pas du tout à vos attentes, pas plus
d'ailleurs qu'à la réalité.
L'exemple 2-3 crée dynamiquement une liste de liens à partir des valeurs des éléments
d'un tableau associatif. Dans la pratique, les valeurs des éléments du tableau devraient
provenir d'une base de données pour que la page soit réellement dynamique. Les liens
sont affichés dans un liste à puces créée avec les balises HTML <ul> et <li>, auxquelles
est appliqué un style CSS défini dans l'en-tête du document.

Exemple 2-3. Utilisation des tableaux

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Les tableaux</title>
<style type="text/css">
ul {list-style-image:url("etoile.gif");}
</style>
</head>
<body>
<?php
//création des éléments du tableau
$tab["php"] = "php.net";
$tab["mysql"] = "mysql.com";
$tab["xhtml"] = "w3.org";
//création des liens
echo"<h2> Mes liens préférés </h2>";
echo "<ul><li><a href=\" http://www.{$tab['php']}\" title=\"Le site php.net\">
➥&nbsp; PHP </a> </li>";
echo "<li><a href=\" http://www.{$tab['mysql']}\" title=\"Le site mysql.com\">
➥&nbsp; MySQL </a> </li>";
echo "<li><a href=\" http://www.{$tab['xhtml']}\" title=\"Le site du W3C\">
➥&nbsp; XHTML </a> </li></ul>";
?>
</body>
</html

Le script affiche le résultat illustré à la figure 2-1.

7astuces


Changer le fond
Oregionale Skin
7astuces
Sélectionnez un Fond (11)
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces
Fond de contenu
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces