1. 参数
array_walk($arr,$myfun,$userData)
$arr: 需要应用的数组
$myfun: 用户自定义的函数名
$userData:用户自定义的参数
2. 自定义函数参数
$arr = ['1'=>'a','2'=>'b'];
myfun($v,$k,$userData)
$v: 数组的值 ===》对应$arr=>a,b
$k: 数组的键名===》对应$arr=>1,2
$userData:额外的参数
注:&$v可以改为数组的值
<?php
function test($v){
return $v*2;
}
$arr = [1,2,3,4,5];
var_dump(array_map('test',$arr));
function test2(&$v,$k){
$v = $v*2;
}
$arr2 = [1,2,3,4,5];
echo array_walk($arr2,'test2');
var_dump($arr2);
exit;
输出结果:
D:\phpStudy\WWW\tp3.2.3\index.php:6:
array (size=5)
0 => int 2
1 => int 4
2 => int 6
3 => int 8
4 => int 10
1
D:\phpStudy\WWW\tp3.2.3\index.php:13:
array (size=5)
0 => int 2
1 => int 4
2 => int 6
3 => int 8
4 => int 10
参考:
http://www.w3school.com.cn/php/func_array_walk.asp
http://www.w3school.com.cn/php/func_array_walk_recursive.asp