The PHP array_filter() is a built-in PHP function that filters the array values using a callback function
.
In this article, we will talk about PHP array filter in a detailed explanation as well as example programs that could be helpful to your project development. This topic is a continuation of the previous article, entitled PHP Multiline String.
What is Array_filter PHP?
In PHP, array_filter function can be used to filter a value of the array using a function name (callback
). This function moves every value of the array input to the callback function. Once the callback function returns true, the present value from the input will be returned into the array result.
Syntax
array_filter(array, callback_function, flag)
Parameter values
Parameter | Description |
array | This array is a required parameter that specifies the array to be filtered and also refers to an input array in which all the operations are performed. |
callback_function | This callback function is an optional parameter which specifies the callback function that will be used. This also referred to a function named (user-defined). Once the function will not provide it means that all the entries of the array are returned equally to false and will be removed. |
flag | This flag is an optional parameter which specifies which arguments will be sent to the callback. ARRAY_FILTER_USE_KEY – use to pass a key as one argument to a function name (callback), rather than a value in an array. ARRAY_FILTER_USE_BOTH – use to pass both key and value as an argument to a callback function rather on the value. |
Example
<?php // PHP function to check for even elements in an array function Even($array) { // returns if the input integer is even and its original array if($array%2==0) return TRUE; else return FALSE; } $array = array(26, 10, 15, 11, 29, 0, 86); print_r(array_filter($array, "Even")); ?>
Output
Array ( [0] => 26 [1] => 10 [5] => 0 [6] => 86 )
More PHP array_filter example programs
The following program could help you understand an array_filter in the easiest and better way.
1. Basic example program for PHP array_filter function
Filter out all the Odd numbers in the given array passing elements.
Example
<?php $given_Numbers = [1, 2, 3, 4, 5]; $even_numbers = array_filter( $given_Numbers, function ($given_Numbers) { return $given_Numbers % 2 === 0; } ); print_r($even_numbers);
Output
Array ( [1] => 2 [3] => 4 )
2. Example program using a callback function as a method of the class
The odd class has a function name isOdd() which returns true once the argument is an odd number or else it returns false.
Example
<?php class Odd { public function isOdd($num) { return $num % 2 === 1; } } $numbers = [1, 2, 3, 4, 5]; $odd_numbers = array_filter( $numbers, [new Odd(), 'isOdd'] ); print_r($odd_numbers);
Output
Array ( [0] => 1 [2] => 3 [4] => 5 )
3. Example program for passing an element to the callback function
Given on the array_filter function passing the value of every element of an array using a callback function for filtering.
In some cases, if you want to pass the filtering key and not the value to the function name callback. The solution to this in order to pass we need to use the ARRAY_FILTER_USE_KEY as the third function of the argument of the result array_filter() user-defined function.
Example
<?php $info = [ 'firstname' => 'Glenn', 'middlename' => 'Magada', 'lastname' => 'Azuelo', 'password' => 'secret', 'email' => '[email protected]' ]; // filter use key pass to filter elements $filtered = array_filter( $info, fn ($key) => $key !== 'password', ARRAY_FILTER_USE_KEY ); print_r($filtered);
Output
Array ( [firstname] => Glenn [middlename] => Magada [lastname] => Azuelo [email] => [email protected] )
How do you filter an array key?
To filter in array keys we use the array_filter() function in PH
P and pass the ARRAY_FILTER_USE_KEY flag as the 3rd (argument) to the anonymous function.
This could allow the key to pass as only one argument on the provided (callback function) which arrays keys are preserved.
Why filters are used in PHP?
The filters are used for sanitizing and validating external inputs. This filter extension provides many functions that can be needed for checking user input and it was created for easy and better data validation.
How many filters are in PHP?
There are only 2 types of data filtering:
- Sanitization
- Validation
More about arrays
- How To Find The Array Length PHP With Examples
- PHP in_array function With Examples
- Array Push PHP (With Detailed Explanation)
- PHP array_merge With Detailed Explanation
- PHP Array Iterator with Example Program
Summary
In summary, you have learned about PHP array_filter. This article also discussed what is Array_filter, how you filter an array key, why filters are used, and how many filters are in PHP.
I hope this lesson has helped you learn a lot. Check out my previous and latest articles for more life-changing tutorials which could help you a lot.