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"); ?>
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"); ?>
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); ?>