Функцыя 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
,
якая згортвае масіў