当前位置: 代码迷 >> PHP >> 数组合并有关问题(已更新)
  详细解决方案

数组合并有关问题(已更新)

热度:91   发布时间:2016-04-28 19:26:54.0
数组合并问题(已更新)
本帖最后由 lazygc520 于 2014-04-08 16:17: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',
  ),
  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
  相关解决方案