Função array_reduce
A função array_reduce reduz um array
a um único valor usando uma função de callback.
No primeiro parâmetro, a função recebe um array, no segundo - uma função de callback que será aplicada sequencialmente a cada elemento do array.
No terceiro parâmetro opcional
está o valor inicial a partir do qual
a redução do array começará.
Por padrão, este parâmetro tem
o valor null.
A função de callback recebe dois parâmetros. O primeiro valor contém o valor resultante da iteração anterior. No caso da primeira iteração, contém o valor do terceiro parâmetro.
E o segundo valor do callback contém o elemento atual do array.
O callback será aplicado sequencialmente a cada elemento do array. O que o callback retornar na iteração atual entrará no primeiro parâmetro do callback na próxima iteração.
Dessa forma, o callback será aplicado sequencialmente
a cada elemento do array
um por um e, no final, resultará em um
valor. Este valor será o resultado
do trabalho da função array_reduce.
Sintaxe
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Exemplo
Vamos encontrar a soma dos elementos do array:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Resultado da execução do código:
15
Veja também
-
a função
array_map,
que aplica uma função aos elementos do array -
a função
array_walk,
que chama uma função para os elementos do array -
a função
array_filter,
que filtra um array -
a função
array_walk_recursive,
que chama uma função recursivamente para os elementos do array