Kazi array_reduce
Kazi array_reduce hukunjia (kupunguza)
safu hadi thamani moja, kwa kutumia kolbeki.
Kwenye parameta ya kwanza kazi hukubali safu, ya pili - kolbeki, ambayo itatumika kwa mfululizo kwa kila kipengele cha safu.
Katika parameta ya tatu isiyo ya lazima
itakuwa thamani ya awali, ambayo
mkunjaji wa safu utaanzia.
Kwa chaguo-msingi parameta hii ina
thamani null.
Kazi-kolbeki hupokea kwa parameta maadili mawili. Thamani ya kwanza ina thamani ya matokeo kutoka kwa iteration ya awali. Katika tukio la iteration ya kwanza ina thamani ya parameta ya tatu.
Na thamani ya pili ya kolbeki ina kipengele cha sasa cha safu.
Kolbeki kwa mfululizo itatumika kwa kila kipengele cha safu. Kile kitakachorudishwa kwenye iteration ya sasa na kolbeki, kitaingia kwenye parameta ya kwanza ya kolbeki kwenye iteration inayofuata.
Kwa hivyo, kolbeki itatumika kwa mfululizo
kwa kila kipengele cha safu
kwa mfululizo na mwishowe patakayuka
thamani fulani. Thamani hii ndio matokeo
ya kazi ya array_reduce.
Syntaxi
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Mfano
Wacha tupate jumla ya vipengele vya safu:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Matokeo ya utekelezaji wa kodi:
15
Angalia pia
-
kazii
array_map,
ambayo hutumika kazi kwa vipengele vya safu -
kazii
array_walk,
ambayo huita kazi kwa vipengele vya safu -
kazii
array_filter,
ambayo hichuja safu -
kazii
array_walk_recursive,
ambayo huita kazi kwa kujirudia kwa vipengele vya safu