(PHP 4, PHP 5, PHP 7)
each — Devuelve cada par clave/valor de un array
Esta funcionalidad está OBSOLETA a partir de PHP 7.2.0 y ha sido ELIMINADA a partir de PHP 8.0.0.
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().
arrayEl array de entrada.
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.
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 ejemplo anterior mostrará :
a => apple b => banana c => cranberry
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.
each() también acepta objetos, pero puede devolver un resultado no esperado. Por lo tanto, no se recomienda utilizar esta función con objetos.
foreach