Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
184 of 410 menu

Функцыя 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,
    якая рэкурсіўна выклікае функцыю для элементаў масіва
byenru