【原创】关于PHP中 array_map() 和 array_walk() 函数的联系与区别

blogdaren 2019-08-13 抢沙发 138人次

两者联系:

两者在某些功能上有异曲同工之处,比如都是用来将用户自定义的函数作用到数组的每一个单元上。

两者区别:

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 )原创,转载请保留文章出处。

本文链接:【原创】关于PHP中 array_map() 和 array_walk() 函数的联系与区别

发表评论:

您的昵称:
电子邮件:
个人主页: