【原创】关于PHP中 array_map() 和 array_walk() 函数的联系与区别
两者联系:
两者在某些功能上有异曲同工之处,比如都是用来将用户自定义的函数作用到数组的每一个单元上。
两者区别:
array_map 的用法是 array_map(函数名, 数组),而 array_walk 的用法是 array_walk(数组, 函数名); array_map 的函数可以是用户自定义函数,也可以是PHP自带的函数;而 array_walk 里面的函数只能是用户自定义的函数。 array_map 不能改变原函数的值,会获取到新的数组;而 array_walk 是可以通过引用改变原函数的值。 array_map 肯定有返回值,并且返回的是函数作用后的新数组;而 array_walk 则不一定有返回值,若有返回值也是boolean类型。
举例说明:
<?php $input = [1,3,5]; array_walk($input, function($v, $k){ pprint($v * $k); }); array_map(function($v){ pprint($v); }, $input);
版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。
发表评论: