(PHP 4, PHP 5, PHP 7)
each — Retorna o par chave/valor corrente de um array e avança o seu cursor
&$array
)Retorna 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.
array
O 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.