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ֆունկցիան,
որը ծալում է զանգվածը