(PHP 3 >= 3.0.3, PHP 4, PHP 5)
array_walk -- Aplica uma determinada funcão em cada elemento de um arrayRetorna TRUE em caso de sucesso ou FALSE em falhas.
Aplica uma função definida pelo usuário nomeada pelo argumento
func
em cada elemento de arr
.
Normalmente, func
recebe dois argumentos: o
primeiro é o valor do elemento e o segundo, sua chave. Se
userdata
for especificado, ele será usado como
terceiro argumento da função do usuário.
Se func
necessita de mais argumentos do que o que
está sendo passado para ela, um erro do nível
E_WARNING será gerado a cada vez que
array_walk() executar
func
. Esses avisos podem ser suprimidos
adicionando o operador @
à chamada da função array_walk(),
ou usando error_reporting().
Nota: Se
func
precisar alterar realmente os valores do array, especifique que o primeiro parâmetro defunc
deve ser passado por referência. Então qualquer mudança feita nesses elementos serão feitas no próprio array também.
Nota: A passagem das chaves e do terceiro argumento para
func
foi adicionada no PHP 4.0.0.
array_walk() não é afetada pelo ponteiro interno do
array arr
.
array_walk() irá percorrer todo o array independente da posição
atual do ponteiro interno. Para reiniciar o ponteiro, use
reset(). No PHP 3,
array_walk() reinicia o ponteiro.
Usuários não podem alterar o array a partir da função definida para ser usada. Por exemplo, adicionar/remover elementos, removerá o array no qual array_walk() está sendo aplicada. Se o array for alterado, o comportamento desta função se torna imprevisível.
Veja também array_map(), list(), foreach, each() e call_user_func_array().