![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Usando a função array_walk() para aplicar uma função a cada um dos elementos de um arrayQuantidade de visualizações: 8247 vezes |
Em algumas situações nós gostaríamos de acessar os elementos de um array individualmente e processá-los em uma função personalizada. Isso pode ser feito com o auxílio da função array_walk(). Esta função recebe um array e uma função que será aplicada a cada um dos elementos do array. Veja um trecho de código no qual testamos se o valor do elemento atual é par. Se for nós adicionamos 2 ao seu valor:----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?
// função personalizada que será aplicada a cada um dos
// elementos do array fornecido como argumento
function adicionar_valor(&$valor, $chave){
if($valor % 2 == 0){
$valor += 2;
}
}
// vamos declarar e inicializar um array de inteiros
$valores = array(9, 2, 6, 11, 7, 6);
// vamos listar os valores dos elementos no array
echo "Elementos no array:<br>";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " - ";
}
// vamos aplicar uma função personalizada a cada um
// dos elementos do array
array_walk($valores, "adicionar_valor");
echo "<br><br>Depois de array_walk():<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
?>
Quando executarmos este código teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Elementos no array: 9 - 2 - 6 - 11 - 7 - 6 - Depois de array_walk(): 9 - 4 - 8 - 11 - 7 - 8 - Note que a função personalizada que fornecemos à array_walk() automaticamente possui dois parâmetros, a saber: &$valor e $chave. $valor é fornecido como referência, o que significa que qualquer alteração no valor do elemento atual será refletido no array original. Há ainda a possibilidade de um terceiro parâmetro, que são dados adicionais que podemos passar para a função de callback. Veja um exemplo no qual atribuimos o valor 0 a cada um dos elementos cujo valor é menor que o valor passado como argumento para a função personalizada: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?
// função personalizada que será aplicada a cada um dos
// elementos do array fornecido como argumento
function zerar_menores(&$valor, $chave, $numero){
if($valor < $numero){
$valor = 0;
}
}
// vamos declarar e inicializar um array de inteiros
$valores = array(9, 2, 6, 11, 7, 6);
// vamos listar os valores dos elementos no array
echo "Elementos no array:<br>";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " - ";
}
// vamos aplicar uma função personalizada a cada um
// dos elementos do array. Neste exemplo nós vamos zerar
// todos os elementos menores que o valor fornecido
$valor = 7;
array_walk($valores, "zerar_menores", $valor);
echo "<br><br>Depois de array_walk():<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
?>
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
Python - Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






