each

(PHP 4, PHP 5, PHP 7)

eachDevuelve cada par clave/valor de un array

Advertencia

Esta función ha sido declarada OBSOLETA a partir de PHP 7.2.0, y será ELIMINADA a partir de PHP 8.0.0. Su uso está totalmente desaconsejado.

Descripción

each(array|object &$array): array

each() devuelve el par clave/valor actual del array array y avanza el puntero del array.

Tras cada llamada a each(), el puntero del array se desplaza al siguiente elemento, o más allá del último elemento, cuando se llega al final. Debe utilizarse reset() si se desea recorrer el array nuevamente con each().

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve el par clave/valor actual del array array y avanza el puntero del array. Este par se devuelve en un array de 4 elementos, con las claves 0, 1, key, y value. Los elementos 0 y key contienen el nombre de la clave y 1 y value contienen el valor.

Si el puntero interno del array está más allá del final del array, each() devuelve false.

Ejemplos

Ejemplo #1 Ejemplo con each()

<?php
$foo
= array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar contiene ahora las claves/valores siguientes :

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo
= array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar contiene ahora las claves/valores siguientes :

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() se utiliza típicamente en conjunción con list() para revisar un array. Por ejemplo :

Ejemplo #2 Recorrer un array con each()

<?php
$fruit
= array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list(
$key, $val) = each($fruit)) {
echo
"$key => $val\n";
}
?>

El resultado del ejemplo sería:

a => apple
b => banana
c => cranberry

Precaución

Asignar un array a otra variable reinicia el puntero del array original a cero. Debido a este comportamiento, se podría haber provocado una iteración infinita en nuestro ejemplo si se hubiera asignado $fruit a otra variable dentro de nuestro ciclo.

Advertencia

each() también acepta objetos, pero puede devolver un resultado no esperado. Por lo tanto, no se recomienda utilizar esta función con objetos.

Ver también

  • key() - Devuelve una clave de un array asociativo
  • list() - Asigna variables como si fueran un array
  • current() - Devuelve el elemento actual del array
  • reset() - Reinicia el puntero interno del array al principio
  • next() - Avance el puntero interno de un array
  • prev() - Retrocede el puntero actual del array
  • foreach
  • Iteración de objetos