您的位置:首页 > 其它

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

2017-08-18 20:01 357 查看
//原数据
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:
4000
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
)


)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐