PHP 利用 array_walk 往二维数组添加元素

二维数组添加元素

对于一些操作需要批量处理的,比如批量操作订单,如何循环操作一个个订单,这样效率很低,这时就可以考虑批量处理,而操作则会备注都是相同的,这时可以往现有数组添加相同元素的方式组装新数组。对于某些一对多的插入操作也适用,比如生一个一个主订单,子订单需要拆单的情况,这时每个子订单都会关联刚生成的主订单ID。

<?php

//原数组
$data = [
    0 => [
        'order_id' => 'D001',
        'remark' => '取消订单',
    ],
    1 => [
        'order_id' => 'D002',
        'remark' => '取消订单',
    ],
    2 => [
        'order_id' => 'D003',
        'remark' => '取消订单',
    ],
];

//要往原数组添加的元素
$arr = [
    'admin_id' => 11,
    'update_time' => date('Y-m-d H:i:s')
];

//每个二维元素追加子元素
array_walk($data, function(&$v, $k, $p) {
    $v = array_merge($v, $p);
}, $arr);

//打印新数组
echo '<pre>';print_r($data);exit;

//得到新数组
Array
(
    [0] => Array
        (
            [order_id] => D001
            [remark] => 取消订单
            [admin_id] => 11
            [update_time] => 2019-09-05 07:07:47
        )

    [1] => Array
        (
            [order_id] => D002
            [remark] => 取消订单
            [admin_id] => 11
            [update_time] => 2019-09-05 07:07:47
        )

    [2] => Array
        (
            [order_id] => D003
            [remark] => 取消订单
            [admin_id] => 11
            [update_time] => 2019-09-05 07:07:47
        )

)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值