根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
2017-08-18 20:01
344 查看
//原数据 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 )
)
相关文章推荐
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成二维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 根据数组中某个两个值作为键、并把数组中同时存在该两个字段值的数组值累加、组合成三维数组
- 练习LINQ:同时操作二维和一维数组,把二维数组转为一维,计算一维和二维值,字符串组合,计算数组和,数组筛选,排序
- PHP 两个多维数组根据某个键的值进行组合排序的几种思路
- 定义Car类,包含两个字段:name和price; (2)在Main方法中,使用Array.Sort方法对Car对象数组根据姓名和价格排序。