The array_filter()
function in PHP is used to filter elements of an array using a callback function. It iterates over each element in the array and passes it to the callback function. If the callback returns true
, the element is included in the resulting array; otherwise, it is excluded.
🔧 Syntax:
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
- $array: The input array.
- $callback (optional): A function to use for filtering. If no callback is provided, all falsey values (like
false
,0
,null
,''
, etc.) will be removed. - $mode (optional): Can be
ARRAY_FILTER_USE_KEY
,ARRAY_FILTER_USE_BOTH
, or0
(default: only value is passed).
✅ Example 1: Remove falsey values from array
$data = [0, 1, false, 2, '', 3, null, 'hello'];
$result = array_filter($data);
print_r($result);
🟢 Output:
Array
(
[1] => 1
[3] => 2
[5] => 3
[7] => hello
)
By default,
array_filter
removes values likefalse
,0
,''
,null
.
✅ Example 2: Use custom callback to filter even numbers
$numbers = [1, 2, 3, 4, 5, 6];
$result = array_filter($numbers, function($num) {
return $num % 2 == 0; // keep even numbers
});
print_r($result);
🟢 Output:
Array
(
[1] => 2
[3] => 4
[5] => 6
)
✅ Example 3: Filter associative array using keys and values
$students = [
'john' => 75,
'jane' => 85,
'doe' => 50,
'smith' => 90
];
$result = array_filter($students, function($score, $name) {
return $score >= 80;
}, ARRAY_FILTER_USE_BOTH);
print_r($result);
🟢 Output:
Array
(
[jane] => 85
[smith] => 90
)
⚠️ Notes:
- The keys are preserved in the output.
- If you want to reindex the result, use
array_values()
on the result.
At Online Learner, we're on a mission to ignite a passion for learning and empower individuals to reach their full potential. Founded by a team of dedicated educators and industry experts, our platform is designed to provide accessible and engaging educational resources for learners of all ages and backgrounds.
Terms Disclaimer About Us Contact Us
Copyright 2023-2025 © All rights reserved.