array_walk Aplica uma determinada função em cada elemento de um array &reftitle.description; truearray_walk arrayobjectarray callablecallback mixedarg&null; Aplica uma função definida pelo usuário passada pelo argumento callback em cada elemento do array. array_walk não é afetado pelo ponteiro interno do array. array_walk percorrerá todo o array desconsiderando a posição do ponteiro. &reftitle.parameters; array O array de entrada. callback Normalmente, callback recebe dois parâmetros. O valor do parâmetro array é o primeiro e a chave/índice é o segundo. Se callback realmente precisar alterar os valores do array, especifique que o primeiro parâmetro de callback deve ser passado por referência. Assim, qualquer mudança feita nesses elementos serão feitas no próprio array também. Muitas funções internas (por exemplo strtolower) lançarão uma exceção se forem passados mais argumentos que o esperado e não forem utilizados diretamente na função callback. Apenas os valores de um array podem potencialmente ser alterados; sua estrutura não pode ser alterada, por exemplo, o programador não pode adicionar, remover ou reordenar elementos. Se a função não respeitar esta regra, o comportamento desta função é indefinido e imprevisível. arg Se o parâmetro opcional arg for fornecido, será passado como o terceiro parâmetro para a função callback. &reftitle.returnvalues; &return.true.always; &reftitle.errors; A partir do PHP 7.1.0, uma exceção ArgumentCountError será lançada se a função callback requerer mais de 2 parâmetros (o valor e a chave do item de array), ou se mais de 3 argumentos no caso de arg ser informado. Anteriormente, nesses casos um erro de nível E_WARNING seria gerado em cada vez que array_walk chamasse a função callback. &reftitle.changelog; &Version; &Description; &return.type.true; 8.0.0 Se callback espera que o segundo ou o terceiro parâmetro seja passado por referência, essa função agora emite um E_WARNING. &reftitle.examples; Exemplo de <function>array_walk</function> "limão", "a" => "laranja", "b" => "banana", "c" => "melancia"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2\n"; } echo "Antes ...:\n"; array_walk($frutas, 'test_print'); array_walk($frutas, 'test_alter', 'fruta'); echo "... e depois:\n"; array_walk($frutas, 'test_print'); ?> ]]> &example.outputs; Exemplo de <function>array_walk</function> e funções anônimas {$value}\n"; }); ?> ]]> &example.outputs; a 1 => b 2 => c ]]> &reftitle.seealso; array_walk_recursive iterator_apply list each call_user_func_array array_map &foreach;