1. array_map()
1. The array_map() function applies the user-defined function to each value in the array, and returns the array with new values after the user-defined function is applied. If the function is applied, If there is no return value, the corresponding new value array will be empty.
2. The number of parameters accepted by the callback function should be consistent with the number of arrays passed to the array_map() function.
3. Tip: You can input one or more arrays to the function.入 If the phase function enters 2 arrays, the function acceptance parameters should also have two. When the MAP is passed on the value, one is taken from two arrays to the number of letters. That is, multiple arrays are submitted synchronously. Instead of submitting one array and then submitting the next several arrays, the function also needs to have several parameters
4. Syntax: array array_map (callable callback,arrayarr1 [, array $ ] (array &array,callablefuncname [, mixed $userdata = NULL ] )
$funcname callback function, typically $funcname accepts two parameters. The value of the $array parameter is used as the first one, and the key name is used as the second one.
$userdata If the optional parameter $userdata is provided, it will be passed to $funcname as the third parameter.
Note:
If $funcname needs to operate directly on the values in the array, specify the first argument to funcname as a reference (add the ampersand). This way
any changes to these cells will also change the original array itself.
Return value:
Return TRUE on success, or FALSE on failure.
Example:
<?php //单数组形式 function myfunction($v) { if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a)); //多数组形式 function myfunction1($v1,$v2) { if ($v1===$v2) { return "same"; } return "different"; } $a1=array("Horse","Dog","Cat"); $a2=array("Cow","Dog","Rat"); print_r(array_map("myfunction1",$a1,$a2)); ?>
The above routine will output:
<?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); //传引用,改变了所传参数组 function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2<br />\n"; } echo "Before ...:\n"; //单数组 array_walk($fruits, 'test_print'); //带额外参数 array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:\n"; array_walk($fruits, 'test_print');
walk mainly uses your callback function once for each parameter. What is important is the processing process.
walk can be considered to provide additional parameters to the callback function, map cannotwalk mainly operates on each value in the array, and the operation result affects the original array
map mainly operates on the values in the array Return the array after performing the operation to get a new arraywalk There can be no return value map, because the array needs to be filled