Manuel PHP
Précédent |  | Suivant

# each

(PHP 3, PHP 4, PHP 5)

each -- Retourne chaque paire clé/valeur d'un tableau

## Description

array each ( array &array )

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`.

Exemple 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 :

Exemple 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().

Attention
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.

Précédent | Sommaire | Suivant
current | Niveau supérieur | end