数组合并问题(已更新)
程序员文章站
2024-01-21 19:36:16
...
array ( 0 => array ( 'cust_no' => '237109S92B', 'hi_no' => 'MEC38-431', 'arr_time' => '30/03/2014 9:00', 'totals' => 15, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 1, 'c_type' => 'D22', ), 1 => array ( 'cust_no' => '237109S92B', 'hi_no' => 'MEC38-431', 'arr_time' => '30/03/2014 9:00', 'totals' => 15, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 1, 'c_type' => 'D22', ), 2 => array ( 'cust_no' => '237033AW0A', 'hi_no' => 'BEM330-500', 'arr_time' => '30/03/2014 19:00', 'totals' => 15, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 1, 'c_type' => 'X11M', ), 3 => array ( 'cust_no' => '237033AW0A', 'hi_no' => 'BEM330-500', 'arr_time' => '30/03/2014 19:00', 'totals' => 45, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 3, 'c_type' => 'X11M', ), 4 => array ( 'cust_no' => '237033AW0A', 'hi_no' => 'BEM330-500', 'arr_time' => '30/03/2014 19:00', 'totals' => 45, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 3, 'c_type' => 'X11M', ), 5 => array ( 'cust_no' => '237033AW0A', 'hi_no' => 'BEM330-500', 'arr_time' => '1/04/2014 19:00', 'totals' => 45, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 3, 'c_type' => 'X11M', ),)
条件:当arr_time和c_type,snp都相同时,把条件相同的数组合并为新的二维数组,并设定日期形式yyyy-mm-dd_$i为其序号。变成例如
array ( 0 => array ( 'no'=> '2014-04-08_1', 'cust_no' => '237109S92B', 'hi_no' => 'MEC38-431', 'arr_time' => '30/03/2014 9:00', 'totals' => 15, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 1, 'c_type' => 'D22', ), 1 => array ( 'no'=> '2014-04-08_1', 'cust_no' => '237109S92B', 'hi_no' => 'MEC38-431', 'arr_time' => '30/03/2014 9:00', 'totals' => 15, 'ch_date' => '26/03/2014 0:00', 'snp' => 15, 'mount' => 1, 'c_type' => 'D22', ),)
请问怎么求解?
回复讨论(解决方案)
$res = array();foreach($ar as $t) { $k = join('_', array($t['arr_time'], $t['c_type'], $t['snp'])); $res[$k][] = $t;}print_r($res);得
Array( [30/03/2014 9:00_D22_15] => Array ( [0] => Array ( [cust_no] => 237109S92B [hi_no] => MEC38-431 [arr_time] => 30/03/2014 9:00 [totals] => 15 [ch_date] => 26/03/2014 0:00 [snp] => 15 [mount] => 1 [c_type] => D22 ) [1] => Array ( [cust_no] => 237109S92B [hi_no] => MEC38-431 [arr_time] => 30/03/2014 9:00 [totals] => 15 [ch_date] => 26/03/2014 0:00 [snp] => 15 [mount] => 1 [c_type] => D22 ) ) [30/03/2014 19:00_X11M_15] => Array ( [0] => Array ( [cust_no] => 237033AW0A [hi_no] => BEM330-500 [arr_time] => 30/03/2014 19:00 [totals] => 15 [ch_date] => 26/03/2014 0:00 [snp] => 15 [mount] => 1 [c_type] => X11M ) [1] => Array ( [cust_no] => 237033AW0A [hi_no] => BEM330-500 [arr_time] => 30/03/2014 19:00 [totals] => 45 [ch_date] => 26/03/2014 0:00 [snp] => 15 [mount] => 3 [c_type] => X11M ) [2] => Array ( [cust_no] => 237033AW0A [hi_no] => BEM330-500 [arr_time] => 30/03/2014 19:00 [totals] => 45 [ch_date] => 26/03/2014 0:00 [snp] => 15 [mount] => 3 [c_type] => X11M ) ) [1/04/2014 19:00_X11M_15] => Array ( [0] => Array ( [cust_no] => 237033AW0A [hi_no] => BEM330-500 [arr_time] => 1/04/2014 19:00 [totals] => 45 [ch_date] => 26/03/2014 0:00 [snp] => 15 [mount] => 3 [c_type] => X11M ) ))接下来该怎么做,你应该会的
上一篇: PHP 怎么判断映射目录是否存在
下一篇: Drupal7中常用的数据库操作实例