Site pour tous niveaux sur les ressources PHP-MySQL
Tutoriel pour les débutants et les initiés
Bouts de code et Downloads en Open Source


Aide rapide des descriptions des fonctions officielles PHP. Vous pouvez également retrouver la fonction
each() sur le site officiel.
each
Manuel PHP
» liste des Fonctions

each() retourne la paire clé/valeur courante du tableau array et avance le pointeur de tableau. Cette paire est retournée dans un tableau de 4 éléments, avec les clés 0, 1, key, et value. Les éléments 0 et key contiennent le nom de la clé et 1 et value contiennent la valeur.
Si le pointeur interne de tableau est au-delà de la fin du tableau, each() retourne FALSE.
Example#1 Exemples avec each()
<?php
$foo = array("ghislain", "damien", "didou", "guillaume", "jim", "christophe");
$bar = each($foo);
print_r($bar);
?>
L'exemple ci-dessus va afficher :
Array ( [1] => ghislain [value] => ghislain [0] => 0 [key] => 0 )
<?php
$foo = array("Mehdi" => "Didou", "Damien" => "Dams");
$bar = each($foo);
print_r($bar);
?>
L'exemple ci-dessus va afficher :
Array ( [1] => Didou [value] => Didou [0] => Mehdi [key] => Mehdi )
each() est typiquement utilisée en conjonction avec list() pour passer en revue un tableau. Par exemple :
Example#2 Passer en revue un tableau avec each()
<?php
$fruit = array('a' => 'pomme', 'b' => 'banane', 'c' => 'canneberge');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
L'exemple ci-dessus va afficher :
a => pomme b => banane c => canneberge
Après chaque appel à each(), le pointeur de tableau est déplacé au prochain élément, ou sur le dernier élément, lorsqu'on arrive à la fin. Vous devez utiliser reset() si vous voulez traverser le tableau à nouveau avec each().
Assigner un tableau à une autre variable remet le pointeur du tableau original à zéro. À cause de ce comportement, nous aurions pu provoquer une boucle infinie dans notre exemple si nous avions assigné $fruit à une autre variable dans notre boucle.
Voir aussi key(), list(), current(), reset(), next(), prev() et foreach.
