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

Функцыя array_filter

Функцыя array_filter фільтруе масіў з дапамогай зададзенай функцыі. У параметр функцыі паслядоўна будуць трапляць элементы масіва і, калі для гэтага элемента функцыя верне true - элемент застанецца ў масіве, а калі false - выдаліцца. У масіве застануцца толькі тыя элементы, для якіх функцыя верне true.

Калі зыходны масіў з'яўляецца асацыятыўным, то яго ключы захоўваюцца.

Сінтаксіс

array_filter(array $array, ?callable $callback = null, int $mode = 0): array

Прыклад

Давайце пакінем у масіве толькі дадатныя элементы:

<?php function func($num) { if ($num >= 0) { return true; } else { return false; } } $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, 'func'); var_dump($res); ?>

Вынік выканання кода:

[1, 2, 3]

Прыклад

Скарацім умова:

<?php function func($num) { return $num >= 0; } $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, 'func'); var_dump($res); ?>

Вынік выканання кода:

[1, 2, 3]

Прыклад

Пераробім на ананімную функцыю:

<?php $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, function($num) { return $num >= 0; }); var_dump($res); ?>

Вынік выканання кода:

[1, 2, 3]

Прыклад

Пераробім на стрэлачную функцыю:

<?php $arr = [1, -1, 2, -2, 3, -3]; $res = array_filter($arr, fn($num) => $num >= 0); var_dump($res); ?>

Вынік выканання кода:

[1, 2, 3]

Глядзіце таксама

  • функцыю array_map,
    якая ўжывае функцыю да элементаў масіва
  • функцыю array_walk,
    якая выклікае функцыю для элементаў масіва
  • функцыю array_walk_recursive,
    якая рэкурсіўна выклікае функцыю для элементаў масіва
  • функцыю array_reduce,
    якая згортвае масіў
byenru