Функция array_reduce
Функция array_reduce массивни коллбэк ёрдамида
битта қийматга кайта ишлайди (редуцирует).
Биринчи параметрда функция массив қабул қилади, икинчида - ҳар бир массив элементига навбат билан қўлланиладиган коллбэк.
Учинчи ихтиёрий параметрда
массивни кайта ишлаш бошланадиган
бошланғич қиймат булади.
Сустга кўра бу параметрнинг қиймати
null га тенг.
Функция-коллбэк иккита параметр қабул қилади. Биринчи параметр олдинги такрорлашдан олинган натижа қийматини ўз ичига олади. Биринчи такрорлашда эса учинчи параметрнинг қийматини ўз ичига олади.
Иккинчи параметр эса жуда массивнинг ҳозирги элементини ўз ичига олади.
Коллбэк навбат билан ҳар бир массив элементига қўлланилади. Коллбэкнинг ҳозирги такрорлашда қайтарган қиймати, кейинги такрорлашда коллбэкнинг биринчи параметрига түшади.
Шу тариқа, коллбэк навбат билан ҳар бир
массив элементига изчил қўлланиб
якуни бирор қиймат ҳосил бўлади.
Мана шу қиймат array_reduce функциясининг
ишлаш натижаси бўлади.
Синтаксис
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Мисол
Келгила, массив элементларининг йиғиндисини топамиз:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Кодни ишга тушириш натижаси:
15
Шунингдек қаранг
-
array_mapфункцияси,
массив элементларига функцияни қўллайди -
array_walkфункцияси,
массив элементлари учун функцияни чақиради -
array_filterфункцияси,
массивни филтрлайди -
array_walk_recursiveфункцияси,
массив элементларига рекурсив функцияни чақиради