Chapitre IV : Les tableaux
[Oct 2016]
I.
Déclaration
Une variable tableau est de type array. Un tableau accepte des éléments de tout type. Les
éléments d’un tableau peuvent être de types différents et sont séparés d’une virgule.
Un tableau peut être initialisé avec la syntaxe array.
Exemple :
$tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’);
$tab = array("foobar", 2002, 20.5, $name);
$tab = array();
Mais il peut aussi être initialisé au fur et à mesure.
Exemples :
$prenoms[ ] = "Clément"; $villes[0] = "Paris";
$prenoms[ ] = "Justin"; $villes[1] = "Londres";
$prenoms[ ] = "Tanguy"; $villes[2] = "Lisbonne";
L’appel d’un élément du tableau se fait à partir de son indice (dont l’origine est zéro
comme en C).
Exemple :
echo $tab[10]; // pour accéder au 11ème élément
II. Parcours d’un tableau
Advertisement
$tab = array(‘Hugo’, ‘Jean’, ’Mario’);
Exemple 1 :
$i=0;
while($i < count($tab))
{ // count() retourne le nombre d’éléments
echo $tab[$i]."</br>";
$i++;
}
Exemple 2 :
foreach($tab as $elem) {
echo $elem." </br>";
}
La variable $elem prend pour valeurs successives tous les éléments du tableau $tab.
III. Quelques fonctions
count($tab), sizeof : retournent le nombre d’éléments du tableau.
in_array($var,$tab) : dit si la valeur de $var existe dans le tableau $tab.
list($var1,$var2…) : transforme une liste de variables en tableau.
range($i,$j) : retourne un tableau contenant un intervalle de valeurs.
shuffle($tab) : mélange les éléments d’un tableau.
sort($tab) : trie alphanumérique les éléments du tableau.
rsort($tab) : trie alphanumérique inverse les éléments du tableau.
Advertisement
implode($str,$tab), join : retournent une chaîne de caractères contenant les éléments du
tableau $tab joints par la chaîne de jointure $str.
explode($delim,$str) : retourne un tableau dont les éléments résultent du hachage de la
chaîne $str par le délimiteur $delim.
array_merge($tab1,$tab2,$tab3…) : concatène les tableaux passés en arguments.
array_rand($tab) : retourne un élément du tableau au hasard.
array_push($tab, $val1 [, $…]) : Ajoute une ou plusieurs valeurs au tableau $tab
1
Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte
Classes : DSI2 Matière : Pgt côté serveur
Chapitre IV : Les tableaux
[Oct 2016]
IV. Tableaux associatifs
Un tableau associatif est appelé aussi dictionnaire ou hashtable. On associe à chacun de ses
éléments une clé dont la valeur est de type chaîne de caractères.
L’initialisation d’un tableau associatif est similaire à celle d’un tableau normal.
Exemple 1 :
$personne = array("Nom" => "César", "Prénom" => "Jules");
Exemple 2 :
$personne["Nom"] = "César";
$personne["Prénom"] = "Jules";
Advertisement
Ici à la clé ‘’Nom’’ est associée la valeur ‘’César’’.
Parcours d’un tableau associatif
$personne = array("Nom" => "César", "Prénom" => "Jules");
Exemple 1 : Ici on accède directement aux éléments du tableau sans passer par les clés.
foreach ($personne as $elem)
{
echo "$elem </br>";
}
Exemple 2 : Ici on accède simultanément aux clés et aux éléments
foreach($personne as $key => $elem) {
echo "$key : $elem";
}
Quelques fonctions :
array_count_values($tab) : retourne un tableau contenant les valeurs du tableau $tab.
comme clés et leurs fréquence comme valeur (utile pour évaluer les redondances).
array_keys($tab) : retourne un tableau contenant les clés du tableau associatif $tab.
array_values($tab) : retourne un tableau contenant les valeurs du tableau associatif $tab.
array_search($val,$tab) : retourne la clé associée à la valeur $val.
Remarque : L’élément d’un tableau peut être un autre tableau.
Les tableaux associatifs permettent de préserver une structure de données.
Quelques fonctions alternatives pour le parcours de tableaux (normaux ou associatifs) :
Advertisement
reset($tab) : place le pointeur sur le premier élément
current($tab) : retourne la valeur de l’élément courant
next($tab) : place le pointeur sur l’élément suivant
prev($tab) : place le pointeur sur l’élément précédant
each($tab) : retourne la paire clé/valeur courante et avance le pointeur
Exemple :
$colors = array("red", "green", "blue");
$nbr = count($colors);
reset($colors);
for($i=1; $i<=$nbr; $i++) {
echo current($colors). "<br />";
next($colors);
}
2
Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte
Classes : DSI2 Matière : Pgt côté serveur