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

来源:互联网 发布:淘宝网西服 编辑:程序博客网 时间:2024/06/05 17:58
//原数据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 作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组foreach ($opIds as $value) {     $userId = $value['pickup_user_id'];     $type = $value['op_orders_type'];     if (array_key_exists($userId, $row) && array_key_exists($type, $row)) {          $row[$userId][$type] += $userId;          $row[$userId][$type] .= ',' . $userId . '×' . $userId;     } else {          $row[$userId][$type] = $userId;          $row[$userId][$type] = $userId . '×' . $userId;     }}//结果如下Array([0] => Array    (        [0] => 0×0    )[2] => Array    (        [0] => 4,2×2    )[309] => Array    (        [2] => 309×309        [1] => 309×309        [0] => 618,309×309    )

)

阅读全文
1 0
原创粉丝点击