ფუნქცია 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,
რომელიც რეკურსიულად იძახებს ფუნქციას მასივის ელემენტებისთვის