Функсияи array_reduce

Функсияи array_reduce массивро такрор мекунад (редуксия мекунад) ба як қимат, бо истифода аз коллбэк.

Дар параметри якум функсия массивро қабул мекунад, дар дуюм - коллбэк, ки ба таври навбатӣ ба ҳар як унсури массив татбиқ карда мешавад.

Дар параметри сеюми ихтиёрӣ қимати ибтидоӣ хоҳад буд, ки аз он такрори массив оғоз мешавад. Ба таври пешфарз ин параметр қимати null дорад.

Функсия-коллбэк параметрҳо ду қиматро мегирад. Қимати якум қимати натиҷавиро аз такрори қаблӣ нигоҳ медорад. Дар ҳолати такрори якум қимати параметри сеюмро нигоҳ медорад.

Ва қимати дуюми коллбэк унсури ҷории массивро нигоҳ медорад.

Коллбэк ба таври навбатӣ ба ҳар як унсури массив татбиқ карда мешавад. Он чи ки дар такрори ҷорӣ коллбэк бармегардонад, ба параметри якуми коллбэк дар такрори оянда медарояд.

Ҳамин тавр, коллбэк ба таври пайдарпаҳӣ ба ҳар як унсури массив ба таври навбатӣ татбиқ карда мешавад ва дар охир қимате ба даст меояд. Ин қимат натиҷаи кории функсияи array_reduce хоҳад буд.

Синтаксис

phparray_reduce(array $array, callable $callback, mixed $initial = null): mixed

Намуна

Биёед ҷамъи унсурҳои массивро ёбем:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  function func($prev, $elem)
  {
    return $prev + $elem;
  }
  
  $res = array_reduce($arr, 'func', 0);
  echo $res;
?>

Натиҷаи иҷрои код:

php15

Ҳамчунин нигаред

  • функсияи array_map,
    ки функсияро ба унсурҳои массив татбиқ мекунад
  • функсияи array_walk,
    ки функсияро барои унсурҳои массив даъват мекунад
  • функсияи array_filter,
    ки массивро филтр мекунад
  • функсияи array_walk_recursive,
    ки ба таври рекурсивӣ функсияро барои унсурҳои массив даъват мекунад