Home > Article > Backend Development > Introduction to the usage of PHP’s array_filter() function
In PHP programming, array is a very common data type. Filtering and filtering arrays is one of the common operations. At this time, you can use the array function array_filter() provided by PHP. This article will introduce and demonstrate the usage of this function.
1. Basic usage of the array_filter() function
The function of the array_filter() function is to filter and filter the array. The basic syntax is as follows:
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
Among them, the $array parameter is the array to be screened and filtered; the $callback parameter is an optional parameter, used to specify a callback function to judge each element of the array. Elements that meet the conditions will be retained, and elements that do not meet the conditions will be deleted; the $flag parameter is also an optional parameter, used to specify the rules of the filtering method. There are four rules in total, namely:
Next, we will introduce the parameters in detail.
2. Detailed explanation of $array parameter
This parameter is a required parameter and represents the array to be screened and filtered. The specific usage is as follows:
$arr = array(1, 2, 3, 4, 5); $newArr = array_filter($arr); print_r($newArr); //输出:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
In the above example, $arr is the original array to be screened and filtered, and $newArr is the new array obtained after processing by the array_filter() function. If the $callback parameter is not passed in, all non-"false" elements in $array will be retained, and the output result will be consistent with the original array.
3. Detailed explanation of the $callback parameter
The $callback parameter is optional. If this parameter is not specified, the function will use the following rules for filtering and filtering by default:
If the $callback parameter is specified, $callback must be a callback function that is used to determine whether each element in the array meets the screening or filtering requirements.
The callback function must accept a parameter, which is the element to be processed, and then return a value. If the returned value is "true", it means that the element meets the requirements and should be retained. If the returned value is "false", it means that the element does not meet the requirements and should be removed.
The basic syntax of the callback function is as follows:
function callback_function($element) { // 进行一些处理,然后返回true或false }
The following is an example:
$arr = array(1, 2, 3, 4, 5); $newArr = array_filter($arr, function($element) { return $element > 2; }); print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )
In the above example, we pass in a callback function, which is used to Determine whether each element in the array is greater than 2, if so, retain the element, otherwise delete the element. After processing, only elements 3, 4, and 5 are retained.
4. Detailed explanation of the $flag parameter
The $flag parameter is also an optional parameter, used to specify the rules of the filtering method. If this parameter is not specified, the "key-value filtering" rule is used by default. The four rules are introduced below:
Use key names to filter and filter. The following is an example:
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4); $newArr = array_filter($arr, function($key) { return $key == 'a' || $key == 'c'; }, ARRAY_FILTER_USE_KEY); print_r($newArr); //输出:Array ( [a] => 1 [c] => 3 )
In the above example, the $flag parameter is set to ARRAY_FILTER_USE_KEY, which means that only the key name is used for filtering and filtering. The callback function can retain the elements with key names "a" and "c" and return a new array.
Use key name and key value to filter and filter. The following is an example:
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4); $newArr = array_filter($arr, function($key, $value) { return $key == 'a' && $value == 1; }, ARRAY_FILTER_USE_BOTH); print_r($newArr); //输出:Array ( [a] => 1 )
In the above example, the $flag parameter is set to ARRAY_FILTER_USE_BOTH, which means that both key names and key values must be used for filtering and filtering. The callback function can retain the element with the key name "a" and the key value 1, and return a new array.
Use key value for filtering and filtering. The following is an example:
$arr = array(1, 2, 3, 4, 5); $newArr = array_filter($arr, function($value) { return $value % 2 == 0; }, ARRAY_FILTER_USE_VALUE); print_r($newArr); //输出:Array ( [1] => 2 [3] => 4 )
In the above example, the $flag parameter is set to ARRAY_FILTER_USE_VALUE, indicating that only key values are used for filtering and filtering. The callback function can retain even-numbered elements and return a new array.
Specifies the use of key values for filtering and filtering (the default option). The following is an example:
$arr = array(1, 2, 3, 4, 5); $newArr = array_filter($arr, function($value) { return $value > 2; }); print_r($newArr); //输出:Array ( [2] => 3 [3] => 4 [4] => 5 )
In the above example, the $flag parameter is not set, which means that key values are used for filtering and filtering by default. The callback function can retain elements greater than 2 and return a new array.
5. Summary
The array_filter() function is a very common and practical array function in PHP, which can be used to filter and filter arrays. This article provides a detailed introduction and demonstration of the basic usage and parameter explanation of this function. I hope that through studying this article, you will master the basic principles and usage of this function and be able to use it flexibly in actual programming.
The above is the detailed content of Introduction to the usage of PHP’s array_filter() function. For more information, please follow other related articles on the PHP Chinese website!