array_walk_recursive
array
Funções para Array
PHP Manual

# array_walk

(PHP 4, PHP 5)

array_walk — Aplica uma determinada funcão em cada elemento de um array

### Descrição

bool array_walk ( array `&$arrary` , string `$funcname` [, mixed `$userdata` ] )

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.

### Parâmetros

`array`

  O array de entrada.

`funcname`

  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.

`userdata`

  Se o parâmetro opcional `userdata` é fornecido, será passado como o terceiro parâmetro para o callback `funcname`.

### Valor Retornado

Retorna `TRUE` em caso de sucesso ou `FALSE` em falhas.

### Erros

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().

### Histórico

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

### Veja Também

- array_walk_recursive() - Aplica um função do usuário recursivamente para cada membro de um array
- create_function() - Cria uma função anônima (lambda-style)
- list() - Cria variáveis como se fossem arrays
- each() - Retorna o par chave/valor corrente de um array e avança o seu cursor
- call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros
- array_map() - Aplica uma função em todos os elementos dos arrays dados
- informações sobre o tipo callback
- foreach

array_walk_recursive
array
Funções para Array
PHP Manual