Função array_walk() do PHP

Exemplo

Aplica uma função personalizada a cada elemento do array:

<?php
function myfunction($value,$key)
{
echo "A chave $key tem o valor $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
?>

Executar exemplo

Definição e uso

A função array_walk() aplica uma função personalizada a cada elemento do array. Dentro da função, o nome da chave e o valor do array são os parâmetros.

Notas:Você pode alterar o valor do elemento do array, especificando o primeiro parâmetro da função personalizada como referência: &$value (veja o exemplo 2).

Dica:Para operar arrays mais profundos (um array contendo outro array), use array_walk_recursive() Função.

Sintaxe

array_walk(array,myfunction,userdata...)
Parâmetros Descrição
array Obrigatório. Determina o array.
myfunction Obrigatório. O nome da função personalizada do usuário.
userdata,... Opcional. Determina os parâmetros da função personalizada do usuário. Você pode passar quantos parâmetros quiser para essa função.

Descrição

A função array_walk() aplica uma função de callback a cada elemento do array. Se tiver sucesso, retorna TRUE, caso contrário, retorna FALSE.

Em casos típicos myfunction Aceita dois parâmetros.array O valor do parâmetro é passado como o primeiro, e o nome da chave como o segundo. Se os parâmetros opcionais forem fornecidos userdata Será passado como o terceiro parâmetro para a função de callback.

se myfunction o parâmetro necessário é maior do que o fornecido, então cada chamada array_walk() myfunction gerará um erro de nível E_WARNING. Essas advertências podem ser suprimidas adicionando o operador de erro do PHP antes da chamada array_walk() ou usando error_reporting().

Notas:Se a função de callback precisa agir diretamente sobre os valores do array, pode-se especificar o primeiro parâmetro da função de callback como referência: &$value. (Veja exemplo 3).

Notas:que nomeia userdata passado para myfunction foi adicionado ao PHP 4.0.

Detalhes técnicos

Retorno: Retorna TRUE com sucesso, caso contrário retorna FALSE.
Versão PHP: 4+

Mais exemplos

Exemplo 1

Definir um parâmetro:

<?php
function myfunction($value,$key,$p)
{
echo "$key $p $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","tem o valor");
?>

Executar exemplo

Exemplo 2

Alterar o valor de um elemento do array (atenção a &$value):

<?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
?>

Executar exemplo