PHP Function Manual array_filter()
As an excellent programming language, PHP has an extremely rich set of built-in functions and external extension libraries. Arrays are a very common and important data type in PHP, so the PHP function library has a very rich array of operation functions. The array_filter() function is one of the very practical functions. It can be used to filter elements in an array. Let us learn more about its usage.
1. Function overview
array_filter() function is a function used to filter elements in an array. It will return a new array. The elements in the new array are composed of the elements in the original array. Elements are filtered based on certain conditions. According to the definition of the official document, its syntax is as follows:
array array_filter (array $array [, callable $callback [, int $flag = 0 ]] )
Among them, $array means to be The filtered original array, $callback is the optional callback function parameter, and $flag is the optional mask parameter.
2. Function parameters
$array represents the original array to be filtered. This parameter must be an array type. If this parameter is not an array, an empty array will be returned.
$callback is an optional callback function parameter. Its return value must be of type Boolean. If the $callback function is not given or is null, the array_filter() function will determine whether all elements in the original array are true values, and the elements with true return values will be collected into the new array.
$flag is an optional mask parameter. It can take three values:
3. Function return value
The return value of the array_filter() function is a new array. The new array contains only elements that meet the conditions in the source array. If the new array returned is empty, an empty array will be returned.
4. Function examples
Below we use some examples to demonstrate the use of the array_filter() function.
// Filter out even numbers in the array
function filter_odd($var)
{
return ($var & 1) == 0;
}
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$filtered_arr = array_filter($arr, "filter_odd");
print_r($filtered_arr );
Output:
Array
(
[1] => 2 [3] => 4 [5] => 6 [7] => 8 [9] => 10
)
In this example, we define a callback function filter_odd() to Filter even numbers in an array. When calling the array_filter() function, pass this callback function as the $callback parameter. The function returns a new array containing only the even numbers in the original array.
// Filter out non-empty elements in the array
$arr = ["", "hello", NULL, " world", false, 0, [], " ", "test"];
$filtered_arr = array_filter($arr);
print_r($filtered_arr);
Output:
Array
(
[1] => hello [3] => world [7] => [8] => test
)
In this example, we do not specify the $callback parameter, and the array_filter() function will determine whether all elements in the array are true values. Empty strings, NULL, false, 0, and empty arrays are all considered false values and therefore will not be included in the new array.
// Filter out strings with a length greater than 2 in the array
$arr = ["php" , "html", "css", "js"];
$filtered_arr = array_filter($arr, function($var) {
return strlen($var) > 2;
});
print_r($filtered_arr);
Output:
Array
(
[0] => php [1] => html [2] => css
)
In this example, we did not specify the $flag parameter, but we used one The anonymous function serves as $callback. This function is used to determine whether the length of the string is greater than 2. The function returns a new array containing only strings with length greater than 2.
5. Summary
The array_filter() function is a very practical array operation function that can help us filter out unnecessary data, retain only useful data, and make the data more streamlined. It can bring great convenience, can easily complete some array operation tasks, and improve the development efficiency of PHP programs.
The above is the detailed content of PHP Function Manual array_filter(). For more information, please follow other related articles on the PHP Chinese website!