Funkcja array_reduce
Funkcja array_reduce redukuje
tablicę do pojedynczej wartości za pomocą funkcji zwrotnej.
W pierwszym parametrze funkcja przyjmuje tablicę, w drugim - funkcję zwrotną, która będzie kolejno stosowana do każdego elementu tablicy.
W trzecim opcjonalnym parametrze
znajduje się wartość początkowa, od której
zacznie się redukcja tablicy.
Domyślnie parametr ten ma
wartość null.
Funkcja zwrotna otrzymuje jako parametry dwie wartości. Pierwsza wartość zawiera wartość wynikową z poprzedniej iteracji. W przypadku pierwszej iteracji zawiera wartość trzeciego parametru.
A druga wartość funkcji zwrotnej zawiera bieżący element tablicy.
Funkcja zwrotna będzie kolejno stosowana do każdego elementu tablicy. To, co zwróci w bieżącej iteracji funkcja zwrotna, trafi do pierwszego parametru funkcji zwrotnej w następnej iteracji.
W ten sposób funkcja zwrotna sekwencyjnie
zostanie zastosowana do każdego elementu tablicy
kolejno i ostatecznie powstanie jakaś
wartość. Ta wartość będzie wynikiem
działania funkcji array_reduce.
Składnia
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Przykład
Znajdźmy sumę elementów tablicy:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Wynik wykonania kodu:
15
Zobacz też
-
funkcję
array_map,
która stosuje funkcję do elementów tablicy -
funkcję
array_walk,
która wywołuje funkcję dla elementów tablicy -
funkcję
array_filter,
która filtruje tablicę -
funkcję
array_walk_recursive,
któta rekurencyjnie wywołuje funkcję dla elementów tablicy