Home  >  Article  >  Backend Development  >  数组合并问题(已更新)

数组合并问题(已更新)

WBOY
WBOYOriginal
2016-06-23 13:59:21796browse

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                )        ))
接下来该怎么做,你应该会的

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn