(PHP 4, PHP 5)
array_walk — Aplica uma determinada funcão em cada elemento de um array
Aplica uma função definida pelo usuário nomeada pelo argumento funcname em cada elemento de array.
array_walk() não é afetado pelo ponteiro interno de array. array_walk() percorrerá por todo array desconsiderando a posição do ponteiro.
O array de entrada.
Normalmente, funcname recebe dois parâmetros. O valor do parâmetro array sendo o primeiro, e a chave/índice o segundo.
Nota: Se funcname precisar alterar realmente os valores do array, especifique que o primeiro parâmetro de funcname deve ser passado por referência. Então qualquer mudança feita nesses elementos serão feitas no próprio array também.
Usuários não podem modificar o próprio array na função callback e.g. Adicionar/deletar elementos, apagar elementos, etc. Se o array que array_walk() é aplicado é modificado, o comportamento desta função é indefinido, e imprevisível.
Se o parâmetro opcional userdata é fornecido, será passado como o terceiro parâmetro para o callback funcname.
Retorna TRUE em caso de sucesso ou FALSE em falhas.
Se funcname 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().
Versão | Descrição |
---|---|
4.0.0 | Passagem da chave e userdata para funcname foi adicionado. |
Exemplo #1 Exemplo da array_walk()
<?php
$frutas = array("d" => "limao", "a" => "laranja", "b" => "banana", "c" => "melancia");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br>\n";
}
echo "Antes ...:\n";
array_walk($frutas, 'test_print');
array_walk($frutas, 'test_alter', 'fruta');
echo "... e depois:\n";
array_walk($frutas, 'test_print');
?>
O exemplo acima irá imprimir:
Antes ...: d. limao a. laranja b. banana c. melancia ... e depois: d. fruit: limao a. fruit: laranja b. fruit: banana c. fruit: melancia