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