array_walk 主要是要对数组内的每个值进行操作,操作结果影响原来的数组
array_map主要是对数组中的值进行操作后返回数组,以得到一个新数组
wallk 可以没有返回值 map要有,因为要填充数组
- $array = array('AAA', 'bbb');
- $map_array = array_map('strtolower', $array);
- print_r($map_array);
- print_r($array);
- //如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用:&$value
- function array_walk_func(&$v, $k){
- $v = strtolower($v);
- }
- $walk_array = array_walk($array, 'array_walk_func');
- print_r($walk_array);
- print_r($array);
- 打印结果如下:
- Array
- (
- [0] => aaa
- [1] => bbb
- )
- Array
- (
- [0] => AAA
- [1] => bbb
- )
- 1
- Array
- (
- [0] => aaa
- [1] => bbb
- )