(PHP 4, PHP 5, PHP 7)
each — Retorna o par chave/valor corrente de um array e avança o seu cursor
&$array
) : arrayRetorna o par chave/valor corrente de um array e avança o seu cursor
Depois da execução de each(), o cursor interno do array vai apontar para o próximo elemento do array, ou após o último elemento se ele chegar ao final do array. Você deve usar reset() se quiser percorrer o array novamente.
arrayO array de entrada.
Retorna o par chave/valor corrente de array. Esse
par é retornado num array de quatro elementos, com as chaves
0, 1, key e
value. Elementos 0 e key
contêm o nome da chave do elemento do array e 1 e
value contêm o valor.
Se o cursor interno do array estiver apontando para além do final do
array, each() retorna FALSE.
Exemplo #1 Exemplos da each()
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
$bar agora contém os seguintes pares de chaves e valores:
Array
(
[1] => bob
[value] => bob
[0] => 0
[key] => 0
)
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
$bar agora contém os seguintes pares de chaves e valores:
Array
(
[1] => Bob
[value] => Bob
[0] => Robert
[key] => Robert
)
each() é tipicamente usada em conjunto com list() para percorrer um array, por exemplo:
Exemplo #2 Percorrendo um array com each()
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');
reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>
O exemplo acima irá imprimir:
a => apple b => banana c => cranberry
Porque a atribuição de um array para outra variável reseta o ponteiro do array original, nosso exemplo acima deveria causar um loop infinito tendo nós atribuído $fruit para outra variável dentro do loop.