Funkcija array_reduce
Funkcija array_reduce sumažina (redukuoja)
masyvą iki vienos reikšmės, naudojant atgalinį kvietimą.
Pirmuoju parametru funkcija priima masyvą, antruoju - atgalinį kvietimą, kuris bus paeiliui taikomas kiekvienam masyvo elementui.
Trečiasis neprivalomas parametras
yra pradinė reikšmė, nuo kurios
prasidės masyvo sumažinimas.
Pagal nutylėjimą šis parametras turi
reikšmę null.
Funkcija-atgalinis kvietimas parametrais gauna dvi reikšmes. Pirmoji reikšmė talpina rezultatinę reikšmę iš ankstesnės iteracijos. Pirmosios iteracijos atveju talpina reikšmę trečiojo parametro.
O antroji atgalinio kvietimo reikšmė talpina dabartinį masyvo elementą.
Atgalinis kvietimas paeiliui bus taikomas kiekvienam masyvo elementui. Tai, ką grąžins dabartinėje iteracijoje atgalinis kvietimas, pateks į pirmąjį atgalinio kvietimo parametrą sekančioje iteracijoje.
Taigi, atgalinis kvietimas nuosekliai
bus taikomas kiekvienam masyvo elementui
paeiliui ir galų gale bus gauta kokia nors
reikšmė. Ši reikšmė ir bus funkcijos
array_reduce rezultatas.
Sintaksė
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Pavyzdys
Raskime masyvo elementų sumą:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Kodo vykdymo rezultatas:
15
Taip pat žiūrėkite
-
funkciją
array_map,
kuri taiko funkciją masyvo elementams -
funkciją
array_walk,
kuri iškviečia funkciją masyvo elementams -
funkciją
array_filter,
kuri filtravo masyvą -
funkciją
array_walk_recursive,
kuri rekursyviai iškviečia funkciją masyvo elementams