(PHP 4, PHP 5, PHP 7)
each — Retourne chaque paire clé/valeur d'un tableau
&$array
)
each() retourne la paire clé/valeur courante du tableau
array
et avance le pointeur de tableau.
Après chaque appel à each(), le pointeur de tableau est déplacé au prochain élément, ou au-delà dernier élément, lorsqu'on arrive à la fin. Vous devez utiliser reset() si vous voulez traverser le tableau à nouveau avec each().
array
Le tableau d'entrée.
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
.
Exemple #1 Exemple avec each()
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
$bar contient maintenant les clés/valeurs suivantes :
Array ( [1] => bob [value] => bob [0] => 0 [key] => 0 )
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar contient maintenant les clés/valeurs suivantes :
Array ( [1] => Bob [value] => Bob [0] => Robert [key] => Robert )
each() est typiquement utilisée en conjonction avec list() pour passer en revue un tableau. Par exemple :
Exemple #2 Passer en revue un tableau avec each()
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
L'exemple ci-dessus va afficher :
a => apple b => banana c => cranberry
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.
each() accepte également des objets, mais peut retourner un résultat non-attendu. Aussi, il n'est pas recommandé d'utiliser cette fonction sur des objets.