Функсияи 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,
ки ба таври рекурсивӣ функсияро барои унсурҳои массив даъват мекунад