array_reduce funksiyasi
array_reduce funksiyasi massivni bitta qiymatga
qisqartiradi (reduksiya qiladi), callback funksiyasidan foydalangan holda.
Birinchi parametrda funksiya massivni qabul qiladi, ikkinchisida - har bir massiv elementiga navbat bilan qo'llaniladigan callback funksiyasi.
Uchinchi ixtiyoriy parametrda
massivni qisqartirish boshlanadigan
boshlang'ich qiymat bo'ladi.
Standart bo'yicha bu parametr
null qiymatiga ega.
Callback funksiyasi parametr sifatida ikkita qiymatni oladi. Birinchi qiymat oldingi iteratsiyadan natijaviy qiymatni o'z ichiga oladi. Birinchi iteratsiya holatida esa uchinchi parametrning qiymatini o'z ichiga oladi.
Callback funksiyasining ikkinchi qiymati esa joriy massiv elementini o'z ichiga oladi.
Callback navbat bilan har bir massiv elementiga qo'llaniladi. Callback joriy iteratsiyada qaytargan narsa, keyingi iteratsiyada callbackning birinchi parametriga kiradi.
Shunday qilib, callback ketma-ket
har bir massiv elementiga navbat bilan
qo'llaniladi va natijada ma'lum bir
qiymat hosil bo'ladi. Bu qiymat
array_reduce funksiyasining ishlash natijasi bo'ladi.
Sintaksis
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Misol
Keling massiv elementlari yig'indisini topamiz:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Kodni bajarish natijasi:
15
Shuningdek qarang
-
array_mapfunksiyasi,
bu massiv elementlariga funksiyani qo'llaydi -
array_walkfunksiyasi,
bu massiv elementlari uchun funksiyani chaqiradi -
array_filterfunksiyasi,
bu massivni filtrlaydi -
array_walk_recursivefunksiyasi,
bu massiv elementlari uchun funksiyani rekursiv ravishda chaqiradi