有经验的程序员会经常使用着两个函数,因为它们能快速处理数组,且看它们的区别:
array_map() 返回用户自定义函数作用后的数组。
array_walk() 对数组中每个函数使用回调函数,返回bool值。
看看下面的例子就知道了:
<?php /** *@link http://www.phpddt.com */ $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 )
很明显可以看到array_map()的回调函数有返回值,array_walk的回调函数没有返回值。