array_reduce Fonksiyonu
array_reduce fonksiyonu, bir geri çağırım işlevi kullanarak
bir diziyi tek bir değere indirger.
Fonksiyon ilk parametrede bir dizi kabul eder, ikincisinde - dizinin her elemanına sırayla uygulanacak geri çağırım işlevi.
Üçüncü isteğe bağlı parametrede
dizi indirgemenin başlayacağı
başlangıç değeri bulunur.
Varsayılan olarak bu parametrenin
değeri null'dır.
Geri çağırım işlevi parametre olarak iki değer alır. İlk değer, önceki yinelemeden elde edilen sonuç değerini içerir. İlk yinelemede ise üçüncü parametrenin değerini içerir.
Geri çağırım işlevinin ikinci değeri ise dizinin mevcut elemanını içerir.
Geri çağırım işlevi dizinin her elemanına sırayla uygulanacaktır. Geri çağırımın mevcut yinelemede döndürdüğü değer, sonraki yinelemede geri çağırım işlevinin ilk parametresine gelecektir.
Böylece, geri çağırım işlevi dizinin her elemanına
sırayla uygulanır ve sonuçta bir
değer elde edilir. Bu değer,
array_reduce fonksiyonunun çalışmasının
sonucu olacaktır.
Sözdizimi
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Örnek
Dizi elemanlarının toplamını bulalım:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Kodun çalıştırılmasının sonucu:
15
Ayrıca Bakınız
-
array_mapfonksiyonu,
bir fonksiyonu dizi elemanlarına uygular -
array_walkfonksiyonu,
dizi elemanları için bir fonksiyonu çağırır -
array_filterfonksiyonu,
bir diziyi filtreler -
array_walk_recursivefonksiyonu,
bir fonksiyonu dizi elemanları için özyinemeli olarak çağırır