Функция 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функциясини,
массивни йиғади