Un tableau stocke plusieurs valeurs dans une seule variable... Un tableau (array) est donc une variable spéciale qui peut contenir plusieurs valeurs à la fois.
En PHP, il existe 3 sortes de tableaux :
- Tableau indexé : tableau avec un index numérique. Pour accéder aux valeurs d'un tableau indéxé, on utilise une référence qui est un numéro d'index.
- Tableau associatif : tableau avec des clés nommées
- Tableau multidimensionnel : tableau qui contient un ou plusieurs tableaux
Il y a deux façons de créer des tableaux indexés: l'indice est attribué automatiquement (index commence toujours à 0) ou l'indice est attribué manuellement comme le montre l'exemple ci-dessous:
<!DOCTYPE html> <html> <head> <title>Exemple</title> <meta charset="UTF-8" /> </head> <body> <h1>Les tableaux indéxés</h1> <?php // *************************************************************** // Attribution automatique de l'index dans la déclaration suivante // Automatiquement le premier élément du tableau a pour index 0 // *************************************************************** $motos = array("Harley","Yamaha","Honda","Kawasaki") ; // ************************************************************* // Attribution manuelle de l'index dans la déclaration suivante : // *************************************************************** $voitures[0] = "Aston martin" ; $voitures[1] = "Bugatti"; $voitures[2] = "Rolls Royce"; // ********************************************** // affichage du contenu du tableau moto // la fonction count renvoie la taille du tableau // ********************************************** $taille = count($motos); for($x = 0; $x < $taille; $x++) { echo $motos[$x]; echo "<br/>"; } ?> </body> </html>Voir
Les tableaux associatifs sont des tableaux qui utilisent des clés nommées que vous attribuez arbitrairement
Il y a deux façons de créer des tableaux associatifs comme le montre l'exemple ci-dessous:
<!DOCTYPE html> <html> <head> <title>Exemple</title> <meta charset="UTF-8" /> </head> <body> <h1>Les tableaux associatifs</h1> <?php // *************************************************** // 1ère méthode de déclaration d'un tableau associatif // *************************************************** $point = array("Dad"=>"305", "Sam"=>"1437", "Gilou"=>"1209"); // ***************************************************************************** // 2ème méthode de déclaration d'un tableau associatif équivalente à la première // ***************************************************************************** $point["Dad"] = "305" ; $point["Sam"] = "1437" ; $point["Gilou"] = "1209"; // ********************************************** // affichage du contenu du tableau associatif // ********************************************** foreach ( $point as $indice => $valeur ) { echo "clé : " . $indice . " , contenu = ". $valeur ; echo "<br/>"; } ?> </body> </html>Voir
C'est un tableau qui contient un plusieurs tableaux
Exemple avec un tableau de 2 dimensions :
<!DOCTYPE html> <html> <head> <title>Exemple</title> <meta charset="UTF-8" /> </head> <body> <h1>Les tableaux multidimensionnels</h1> <?php // *************************************************** // on peut imaginer un tableau à deux entrées // la première colonne contient une liste d'article // la deuxième colonne contient le prix unitaire // la troisième colonne contient le stock // chaque ligne est un article // *************************************************** $article = array( array("biscuits",2.30,710), array("chocolat",1.90,250), array("noisettes",2.70,251), array("sucre",2.0,370), array("oeufs",0.24,100), array("farine",0.95,150), ); // ***************************************************************************** // affichage ci-dessous (un peu brutal !!!) // il est préférable d'utiliser des boucles imbriquées et de faire une présentation en table // ***************************************************************************** echo $article[0][0] . ": PU: " . $article[0][1] . "€, stock: ".$article[0][2]. "<br/>"; echo $article[1][0] . ": PU: " . $article[1][1] . "€, stock: ".$article[1][2]. "<br/>"; echo $article[2][0] . ": PU: " . $article[2][1] . "€, stock: ".$article[2][2]. "<br/>"; echo $article[3][0] . ": PU: " . $article[3][1] . "€, stock: ".$article[3][2]. "<br/>"; echo $article[4][0] . ": PU: " . $article[4][1] . "€, stock: ".$article[4][2]. "<br/>"; echo $article[5][0] . ": PU: " . $article[5][1] . "€, stock: ".$article[5][2]. "<br/>"; // ***************************************************************************** // affichage "mieux"! // ***************************************************************************** echo "<table border='1' cellpadding='5'>" ; for ($ligne=0 ; $ligne < count($article) ; $ligne++) { echo "<tr>"; for ($colonne=0 ; $colonne <3 ; $colonne++) { echo "<td>" ; echo $article[$ligne][$colonne] ; echo "</td>" ; } echo "</tr>"; } echo "</table>"; ?> </body> </html>Voir