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

phparray_reduce(array $array, callable $callback, mixed $initial = null): mixed

Exemplo

Vamos encontrar a soma dos elementos do array:

php<?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:

php15

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