Chargement...

PHP les tableaux


En PHP un tableau permet de réunir plusieurs valeurs dans une seule variable. Prenons l'exemple d'une liste, je voudrais la liste de tous les employés d'une entreprise. Pour cela je l'indique comme ceci:
$employes = array( "olivier engel", "Batman", "Harry Potter", "Hulk" );
Cette ligne de code garde en mémoire le tableau suivant:
0 Olivier ENGEL
1 Batman
2 Harry Potter
3 Hulk
PHP associe donc une valeur à un index. L'index 1 du tableau à pour valeur Batman ; et le premier index d'un tableau est 0.

Les index

Les index sont les clés des tableaux. Si je veux le troisième employé de la liste, je dois ecrire $employes[2], qui est Harry Potter. Je peux voir toutes les valeurs d'un tableau grâce à la fonction var_dump
var_dump( $employes );
Je peux définir moi même les index, au lieu de prendre une suite numérique, je peux lui donner la valeur que je veux si j'utilise des valeurs alphanumériques.

Exemple:
$employes = array(
"the_best" => "olivier engel",
"the_dark" => "Batman",
"the_child" => "Harry Potter",
"the_big" => "Hulk"
);
Pour trouver la valeur Batman, je devrai donc appeler la variable.
$employes["the_dark"];

Manipuler un tableau

Si je veux manipuler un tableau dont je ne connais pas les index je peux l'explorer grâce à la fonction foreach
foreach( $employes as $key => $value ){
echo "Clé: " . $key . " Sa valeur " . $value . "<br />";
}
Pour information la fonction echo permet d'écrire les valeurs qu'on lui indique. Dans l'exemple ci-dessus il s'agit de HTML.

Supprimer un index d'un tableau

Pour supprimer un index il faut appeler la fonction unset :
unset( $employes["the_best"] );

Ajouter un index à un tableau

$employes[] = "Spiderman";
// ou avec un index personnalisé
$employes["the_spider"] = "Spiderman";

Les fonction PHP pour manipuler les array

Lorsque vous travaillez sur des scripts un peu complexe, vous utilisez forcément des tableaux. PHP vous simplifie la vie en vous proposant des fonctions qui vous permettent de trier, d'inverser les données, etc. :
$a = array( 0 => "blue", 5 => "abricot", 2 => "orange", 3 => "green" );

Compter le nombre d'entrées d'un array

echo count($a);
int 4

Trier les valeurs d'un array

La fonction sort permet de trier les tableaux PHP mais on perd l'association des clés / valeurs
sort( $a );
array (size=3)
  0 => string 'abricot' (length=4)
  1 => string 'blue' (length=4)
  2 => string 'green' (length=5)
  3 => string 'orange' (length=6)

Trier les valeurs d'un array sans perdre l'association des clés

La fonction asort permet de trier les tableaux PHP sans perdre l'association des clés / valeurs
asort( $a );
array (size=4)
  5 => string 'abricot' (length=7)
  0 => string 'blue' (length=4)
  3 => string 'green' (length=5)
  2 => string 'orange' (length=6)

Trier les clés d'un array

La fonction ksort permet de trier les clés tout en gardant l'association avec les valeurs
ksort( $a );
array (size=4)
  0 => string 'blue' (length=4)
  2 => string 'orange' (length=6)
  3 => string 'green' (length=5)
  5 => string 'abricot' (length=7)

Tri descendant

Tous les tris que nous avons étudié plus haut sont des tris ascendants. Pour avoir des tris descendants, utilisez simplement la fonction "array_reverse" qui inverse les données.
sort( $a );
$a = array_reverse($a);
array (size=4)
  0 => string 'orange' (length=6)
  1 => string 'green' (length=5)
  2 => string 'blue' (length=4)
  3 => string 'abricot' (length=7)



UNE QUESTION SUR L'ARTICLE?


CSSW Apprendre à créer son site web CSSW