Home >Backend Development >PHP Tutorial >Differences between array_map, array_filter and array_walk in php_PHP Tutorial
In PHP, the three functions array_map, array_filter, and array_walk all operate on data. Let me introduce the usage and differences of these three functions.
array_walk:
array_walk() returns a Boolean value. If the callback function needs to act directly on the values in the array, specify the first parameter of the callback function as a reference. Any changes to these cells will also change the original array itself. This function can obtain the key and value of the array at the same time.
array_map:
array_map() returns an array that contains all the cells in arr1 after callback has been applied. The number of arguments accepted by callback should match the number of arrays passed to the array_map() function.
To put it simply, the callback function will have a final impact on each value in the array, and it will be reflected in the return value of calling array_map.
This function can operate on multiple arrays at the same time. And finally merged into an array (each array is aligned in parallel to the same two-dimensional array according to the subscript).
array_filter:
This function is specifically used for elements in the past array. To put it simply, it filters the values in the array that have been judged by the callback function, and returns the processed array through the array_filter() function.
Therefore, after analyzing this point, we can use array_walk and array_map to do array preprocessing. The most common one is the trim operation on each array value. The following is the author's sample code:
The code is as follows | Copy code | ||||
function array_walk_func(&$v, $k) { $v = trim($v); array(3) { [0] => string(14) "AAAA BBBB CCCC"
[1] =>
string(11) "aaaa bbbb c"
[2] =>
string(13) "dddddd eeeeee"
}
array(3) {
[0] =>
string(14) "AAAA BBBB CCCC"
[1] =>
string(11) "aaaa bbbb c"
[2] =>
string(13) "dddddd eeeeee"
}
|