| Accueil | table PHP | index PHP | précédent | suivant |

Les tableaux

Un tableau est une collection de données de type quelconque accessibles par leur position ou par une clé qui leur est associée. Plusieurs méthodes peuvent être utilisées pour créer un tableau :

Par accumulation. Les données successives à placer dans le tableau sont enregistrées comme ceci :

$mon_tableau1[]=valeur1;
$mon_tableau1[]=valeur2;
$mon_tableau1[]=valeur3;
$mon_tableau1[]=valeur4;
---- autres valeurs ----


Chaque valeur sera alors accessible en lecture et en écriture par son indice qui progresse à partir de 0 :

$valeur3=$mon_tableau1[2];
$valeur8=$mon_tableau1[7];
$montableau1[3]=nouvelle_valeur4;


Chaque ligne peut être associée à une clé; le tableau, alors dit "associatif", peut être créé par accumulation comme suit :

$mon_tableau[clé1]=valeur1;
$mon_tableau[clé2]=valeur2;
$mon_tableau[clé3]=valeur3;
---- autres valeurs ----


Les clés peuvent être des nombres ou des chaînes de caractère. Chaque valeur est accessible en lecture et en écriture par sa clé :

$valeur7=$mon_tableau[clé7];
$mon_tableau[clé7]=nouvelle_valeur7;


Par la fonction array :

$mon_tableau1=array(valeur1, valeur2, valeur3, ..... ); pour un tableau simple

$mon_tableau1=array(clé1=>valeur1, clé2=>valeur2, ..... ); pour un tableau associatif

Une cellule de tableau peut à son tour contenir un tableau que l'on pourra enregistrer avec les syntaxes suivantes :

$mon_tableau[]=$mon_tableau1;
$mon_tableau[]=$mon_tableau2;
--- autres valeurs ----


ou

$mon_tableau=array($mon_tableau1, $mon_tableau2, ..... );
$mon_tableau=array(clé_tableau1=>array(valeur1, valeur2, ... ),
clé_tableau2=>$mon_tableau2, ..... );


On accèdera en écriture et en lecture à un élément du tableau imbriqué par un double crochet :

$valeur2=$mon_tableau[clé_tableau1][1];

La fonction count($mon_tableau) permet d'obtenir le nombre d'éléments du tableau

Voici un exemple :


<!--script017 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Titre de cette page : script017</title>
<meta name="description" content="Phrase décrivant clairement cette page" />
<meta name="keywords" content="mot1 mot2, mot3 mot4 mot5, mot6" />
<link rel="stylesheet" type="text/css" href="PHPStyle009.css" />
</head>
<body>

<div id="conteneur">
<h2>Mon jardin</h2>
J'ai récapitulé dans trois tableaux ce que l'on voit dans mon jardin.<br/>
Voici tout ce que l'on peut y voir&#160;:<br/><br/>

<?php
$arbres[]="<b>les arbres</b>";
$arbres[]="chênes";
$arbres[]="pins";
$arbres[]="bouleaux";
$arbres[]="cytises";

$plantes=array("<b>les plantes</b>", "hortensias", "buis", "rosiers", "tulipes", "liliums");

$oiseaux=array("<b>les oiseaux</b>", "merles", "mésanges", "verdiers", "piverts", "rouges-gorges");

$total=array($arbres, $plantes, $oiseaux);

$count=count($total);
$N=0;
while($N < $count) // boucle principale
{


$count1=count($total[$N]);
$N1=0;
while($N1 < $count1) // boucle par sous-tableau
{


echo $total[$N][$N1];
echo "<br/>";
$N1++;


}
echo "<br/>";
$N++;


}
?>

</div>

</body>
</html>


Exécuter ce script




suivant