根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组

//原数据
Array
(
[0] => Array
    (
        [op_id] => 2641
        [op_code] => SZA1708100011
        [op_creater_id] => 2
        [op_order_cnt] => 1
        [op_product_cnt] => 1
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 0
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 19:59:54
        [op_last_update] => 2017-08-10 19:59:54
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 0
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 2017-08-10 20:04:16
        [op_pack_end] => 2017-08-10 20:04:16
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 1
        [op_is_lack] => 0
        [op_sorting_start] => 2017-08-10 20:01:44
        [op_sorting_end] => 0000-00-00 00:00:00
        [op_sorting_user] => 2
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

[1] => Array
    (
        [op_id] => 2632
        [op_code] => SZA1708100009
        [op_creater_id] => 2
        [op_order_cnt] => 2
        [op_product_cnt] => 2
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 0
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 15:21:57
        [op_last_update] => 2017-08-10 15:22:13
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 2
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 2017-08-10 15:22:24
        [op_pack_end] => 2017-08-10 15:22:26
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 1
        [op_is_lack] => 0
        [op_sorting_start] => 2017-08-10 15:22:18
        [op_sorting_end] => 2017-08-10 15:22:30
        [op_sorting_user] => 2
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

[2] => Array
    (
        [op_id] => 2630
        [op_code] => SZA1708100007
        [op_creater_id] => 2
        [op_order_cnt] => 1
        [op_product_cnt] => 1
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 2
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 14:31:11
        [op_last_update] => 2017-08-10 14:31:33
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 309
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 0000-00-00 00:00:00
        [op_pack_end] => 0000-00-00 00:00:00
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 0
        [op_is_lack] => 1
        [op_sorting_start] => 0000-00-00 00:00:00
        [op_sorting_end] => 0000-00-00 00:00:00
        [op_sorting_user] => 0
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

[3] => Array
    (
        [op_id] => 2628
        [op_code] => SZA1708100005
        [op_creater_id] => 2
        [op_order_cnt] => 4
        [op_product_cnt] => 4
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 0
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 13:37:57
        [op_last_update] => 2017-08-10 13:38:20
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 2
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 2017-08-10 14:25:58
        [op_pack_end] => 2017-08-10 14:26:04
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 0
        [op_is_lack] => 1
        [op_sorting_start] => 2017-08-10 14:25:47
        [op_sorting_end] => 2017-08-10 14:26:07
        [op_sorting_user] => 2
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

[4] => Array
    (
        [op_id] => 2626
        [op_code] => SZA1708100003
        [op_creater_id] => 2
        [op_order_cnt] => 1
        [op_product_cnt] => 1
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 1
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 11:35:12
        [op_last_update] => 2017-08-10 11:35:37
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 309
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 0000-00-00 00:00:00
        [op_pack_end] => 0000-00-00 00:00:00
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 0
        [op_is_lack] => 1
        [op_sorting_start] => 0000-00-00 00:00:00
        [op_sorting_end] => 0000-00-00 00:00:00
        [op_sorting_user] => 0
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

[5] => Array
    (
        [op_id] => 2625
        [op_code] => SZA1708100002
        [op_creater_id] => 2
        [op_order_cnt] => 1
        [op_product_cnt] => 1
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 0
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 11:33:04
        [op_last_update] => 2017-08-10 11:33:25
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 309
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 2017-08-10 11:33:25
        [op_pack_end] => 0000-00-00 00:00:00
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 0
        [op_is_lack] => 1
        [op_sorting_start] => 0000-00-00 00:00:00
        [op_sorting_end] => 0000-00-00 00:00:00
        [op_sorting_user] => 0
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

[6] => Array
    (
        [op_id] => 2624
        [op_code] => SZA1708100001
        [op_creater_id] => 2
        [op_order_cnt] => 1
        [op_product_cnt] => 1
        [op_sku_cnt] => 0
        [op_status] => 1
        [op_orders_type] => 0
        [op_note] => 
        [op_is_create_labels] => 0
        [op_create_date] => 2017-08-10 11:29:02
        [op_last_update] => 2017-08-10 11:29:30
        [warehouse_id] => 1
        [back_id] => 1
        [pickup_user_id] => 309
        [op_start_time] => 0000-00-00 00:00:00
        [op_end_time] => 0000-00-00 00:00:00
        [pickup_finish_time] => 0000-00-00 00:00:00
        [op_pack_start] => 2017-08-10 11:29:28
        [op_pack_end] => 0000-00-00 00:00:00
        [pick_type] => 0
        [op_ref_code] => 
        [op_type] => 0
        [op_is_lack] => 1
        [op_sorting_start] => 0000-00-00 00:00:00
        [op_sorting_end] => 0000-00-00 00:00:00
        [op_sorting_user] => 0
        [op_more] => 0
        [op_wrong] => 0
        [op_leakage] => 0
        [op_reason] => 
        [one_piece] => 1
        [statusText] => 已完成
        [op_user_name] => hot
    )

)

//分别把 pickup_user_id 和 op_orders_type 作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
if (!empty($opIds)) {
    foreach ($opIds as $value) {
    $userId = $value['pickup_user_id'];
    $type = $value['op_orders_type'];
         if (isset($row[$userId . '_' . $type])) {
              $row[$userId . '_' . $type]['pickup_user_id'] += $userId;
              $row[$userId . '_' . $type]['pickup_user_id'] .= ',' . $userId . '×' . $userId;
         } else {
              $row[$userId . '_' . $type]['pickup_user_id'] = $userId;
              $row[$userId . '_' . $type]['pickup_user_id'] = $userId . '×' . $userId;
         }
    }
}

//结果如下
Array
(
[0_0] => Array
    (
        [pickup_user_id] => 0×0
    )

[2_0] => Array
    (
        [pickup_user_id] => 4,2×2
    )

[309_2] => Array
    (
        [pickup_user_id] => 309×309
    )

[309_1] => Array
    (
        [pickup_user_id] => 309×309
    )

[309_0] => Array
    (
        [pickup_user_id] => 618,309×309
    )

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值