array_walk一个很不错的函数,操作起来很骚气

今天介绍一个常用的php数组操作函数,和array_column、array_push等类似也是常用的数组操作函数,用得好可以让工作效率更高。

array_walk的作用是对数组中的每个元素应用用户自定义函数,这样就很方便地进行利用了。

array_walk(array,myfunction,parameter...)

参数 描述
array 必需。规定数组。
myfunction 必需。用户自定义函数的名称。
parameter,... 可选。规定用户自定义函数的参数,您可以为函数设置一个或多个参数。
返回值: 如果成功则返回 TRUE,否则返回 FALSE。
PHP 版本: 4+

比如我要给某二维数组新增一个相同的元素,

当然可以直接遍历数组后给每个子元素添加需要元素。但是用array_walk这个一步就可以实现了:

$arr = [
    [
        'a'=>1,
        'b'=>2,
        'c'=>3
    ],
    [
        'a'=>2,
        'b'=>2,
        'c'=>2
    ],
    [
        'a'=>12,
        'b'=>22,
        'c'=>111
    ],
];
$id = 90;
//key是数组的key
array_walk($arr, function(&$ret, $key,$param) {
    $ret = array_merge($ret,$param);
    }, ['id'=>$id,'msg'=>'老是修改需求不公平']);

echo '<pre>';
print_r($arr);
结果如下图:


所以,我们通过这个函数可以批量对数组元素进行各种操作。

评论/留言