array_reduce funksiýasy
array_reduce funksiýasy bir bahany almak üçin
massiwy callback ulanyp ýygnap (redukirleýär).
Funksiýa birinji parametrde massiw kabul edýär, ikinjisinde - her bir massiw elementine sırasy bilen ulanyljak boljak callback.
Üçünji islege görä parametrde bolsa
massiw ýygnap başlanjak başlangyç baha bolar.
Adaty hâlde bu parametr
null bahasyna eýedir.
Funksiýa-callback iki bahany parametr hökmünde alýar. Birinji baha öňki iterasiýadan netije bahasyny öz içine alýar. Ilkinji iterasiýa ýagdaýynda bolsa üçünji parametriň bahasyny öz içine alýar.
Callback-iň ikinji bahasy bolsa hâzirki massiw elementini öz içine alýar.
Callback her bir massiw elementine sırasy bilen ulanylar. Hâzirki iterasiýada callback-iň gaýtaryşy, indiki iterasiýada callback-iň birinji parametrine geçer.
Şeýlelik bilen, callback sırasy bilen
her bir massiw elementine ulanylar we netijede
bir baha alnyar. Bu baha array_reduce
funksiýasynyň işiniň netijesi bolar.
Sintaksis
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Mysal
Geliň massiw elementleriniň jemyny tapalyň:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Kody ýerine ýetirmegiň netijesi:
15
Şeýle-de serediň
-
massiw elementlerine funksiýa ulanýan
array_mapfunksiýasyny,
-
massiw elementleri üçin funksiýa çagyrýan
array_walkfunksiýasyny,
-
massiwi süzýän
array_filterfunksiýasyny,
-
massiw elementleri üçin funksiýany rekursiw çagyrýan
array_walk_recursivefunksiýasyny,