PHP 中array_map,array_walk,array_filter的区别

版权声明:本文为博主原创文章,转载请加上来源。 https://blog.csdn.net/m290345792/article/details/89458296

array_map语法格式:

array_map(function($v){
    //TODO
}, $array);
 

array_walk语法格式

array_walk($array, function($v, $k){
    //TODO
});

array_filter语法格式


array_filter($array, function($v){
    //TODO
});

相同点:都是利用回调函数对数组中每个元素进行操作。

不同点:

  • 返回值
  • 回调函数的参数
  • 是否改变数组的值

array_map 返回的是新数组,原数组不变(新数组和原数组的数组长度应该一样)

array_walk 返回的布尔值,如果要改变数组元素的值,回调函数第一个参数必须是引用,如  array_walk($array, function(&$v, $k){});  , arrary_walk 的回调函数还能够接收数组的key。

array_filter 返回的是新数组,原数组不变。它的作用是过滤数组中的元素。回调函数返回真,元素才能保存到新数组中,即(新数组和原数组的数组长度可能不一样)

猜你喜欢

转载自blog.csdn.net/m290345792/article/details/89458296