Cours ⇒ Cour PHP facebook twitter youtube

Les tableaux ⇒ & Créer des tableaux en php



Créer des tableaux

La fonction array()

La fonction array() permet de créer de manière rapide des tableaux indicés ou associatifs.
C’est elle qui sera le plus souvent utilisée pour la création de tableaux.

1-Les tableaux indicés


La façon la plus élémentaire de créer un tableau indicé consiste à définir individuellement
une valeur pour chacun des ses éléments, et ce de la manière suivante :

$tab[n] = valeur;

où n est un indice entier quelconque, et valeur un scalaire ou une variable de type integer,
double, boolean, string ou array.
Cette manière de procéder se révèle rapidement rébarbative dès qu’il s’agit de définir un
nombre plus important d’éléments. Pour créer un tableau composé de plusieurs éléments
en une seule opération, vous disposez heureusement de la fonction array(), dont la
syntaxe est la suivante

$tab = array(valeur0,valeur1,…,valeurN)


La variable $tab est ici un tableau indicé dont les valeurs d’indice varient de 0 à N. Ce
tableau a donc N + 1 éléments, accessibles par la notation habituelle $tab[0], $tab[1], …,
$tab[N], dont les valeurs respectives peuvent avoir l’un quelconque des types précités.

2-Les tableaux associatifs

La même fonction array() permet aussi de créer rapidement un tableau associatif en définissant
pour chacun de ses éléments une clé et une valeur.
La syntaxe de la fonction array() est la suivante :

$tabasso = array("cléA"=>valeurA, "cléB"=>valeurB,… "cléZ"=>valeurZ)


Comme vous l’avez vu au chapitre 2, chaque clé est une chaîne de caractères délimitée
par des guillemets.
Pour lire valeurA, vous écrivez :
$tabasso["cléA"]
de la même façon que lorsque chaque élément est créé individuellement.
Dans un tableau associatif, la notion d’ordre des éléments perd la valeur qu’elle peut
avoir dans un tableau indicé. Les clés ne sont pas numérotées, par exemple. Vous pourriez
énumérer clés et valeurs dans un ordre différent sans que cela gène la lecture individuelle
de chaque élément.
Vous auriez donc pu créer le même tableau en écrivant :

$tabasso = array("cléZ"=>valeurZ, "cléY"=>valeurY,… "cléA"=>valeurA)

 

hAUTE DE PAGE


3-Les tableaux multidimensionnels

La structure d’un tableau à deux dimensions peut se représenter sous la forme
d’un tableau à double entrée, comme l’exprime le listing de l’exemple 5-1, dont le résultat
est illustré à la figure 5-1.

Le listing 5-1 utilise deux boucles de lecture pour afficher le contenu du tableau. Vous
pouvez très bien envisager de créer de la même façon des tableaux à trois, quatre dimensions
et bien plus encore, mais la visualisation en devient vite difficile.
Pour créer le tableau de la figure 5-1, utilisez la fonction array() de la façon suivante :

$tabmulti=array(
array("ligne 0-colonne 0","ligne 0-colonne 1","ligne 0-colonne 2"),
array("ligne 1-colonne 0","ligne 1-colonne 1","ligne 1-colonne 2"),
array("ligne 2-colonne 0","ligne 2-colonne 1","ligne 2-colonne 2"),
array("ligne 3-colonne 0","ligne 3-colonne 1","ligne 3-colonne 2")
);

Afin de visualiser la structure complète du tableau $tabmulti, vous pouvez, dans les
phases de test des scripts, utiliser la fonction print_r($tabmulti), qui affiche la structure
suivante :

Array (
[0] => Array ( [0] => ligne 0-colonne 0 [1] => ligne 0-colonne 1 [2] => ligne 0-colonne
2 )
[1] => Array ( [0] => ligne 1-colonne 0 [1] => ligne 1-colonne 1 [2] => ligne 1-colonne
2 )
[2] => Array ( [0] => ligne 2-colonne 0 [1] => ligne 2-colonne 1 [2] => ligne 2-colonne
2 )
[3] => Array ( [0] => ligne 3-colonne 0 [1] => ligne 3-colonne 1 [2] => ligne 3-colonne
2 ) )

 

Exemple . Création d’un tableau multidimensionnel

<?php
$tabmulti=array(array("ligne 0-colonne 0","ligne 0-colonne 1","ligne 0-colonne 2"),array("ligne 1-colonne 0","ligne 1-colonne 1","ligne 1-colonne 2"),array("ligne 2-colonne 0","ligne 2-colonne 1","ligne 2-colonne 2"),array("ligne 3-colonne 0","ligne 3-colonne 1","ligne 3-colonne 2"));
echo "<h3>Tableau multidimensionnel</h3><table border='1' width=\"100% \"> <tboby>";
for ($i=0;$i<count($tabmulti);$i++)
{
for($j=0;$j<count($tabmulti[$i]);$j++)
{
echo "<td><h3> .. ",$tabmulti[$i][$j]," .. </h3></td>";
}
echo "</tr>";
}
echo " </tbody> </table> ";
?>

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