转载请注明地址: http://www.phpddt.com/php/array_map_and_array_walk.html 尊重他人劳动成果就是尊重自己!
有经验的程序员会经常使用着两个函数,因为它们能快速处理数组,且看它们的区别:
array_map() 返回用户自定义函数作用后的数组。val
array_walk() 对数组中每个函数使用回调函数,返回bool值。 key 、val
看看下面的例子就知道了:
<?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的回调函数没有返回值。