array (
  'time' => '2012-03-05 13',
  'type' => 'ETC56-605N',
  'count' => '52',
)
array (
  'time' => '2012-03-05 14',
  'type' => 'ETC56-605N',
  'count' => '8',
)
array (
  'time' => '2012-03-05 14',
  'type' => 'ETC56-542N',
  'count' => '39',
)
array (
  'time' => '2012-03-05 15',
  'type' => 'ETC56-542N',
  'count' => '41',
)
array (
  'time' => '2012-03-05 15',
  'type' => 'ETC61-560N',
  'count' => '10',
)
如何变成array(time=>array(type=>count))这种形式?

解决方案 »

  1.   

    array($arr['time']=>array($arr['type']=>array($arr['count'])))
      

  2.   


    不过像这种有多个匹配的怎么正确显示,放在一个二维数组里?array (
      'time' => '2012-03-05 14',
      'type' => 'ETC56-605N',
      'count' => '8',
    )
    array (
      'time' => '2012-03-05 14',
      'type' => 'ETC56-542N',
      'count' => '39',
    )
      

  3.   


    应该是array($arr['time']=>array($arr['type']=>$arr['count']))这样的吧
      

  4.   

    用time:2012-03-05 13,这样的做array的key。可以,但是不太好吧。还是换一种方式吧
      

  5.   

    相同的key值如何合并?例中type这一项。
      

  6.   


      $a1=array (
        'time' => '2012-03-05 13',
        'type' => 'ETC56-605N',
        'count' => '52');
      $a2=array (
        'time' => '2012-03-05 14',
        'type' => 'ETC56-605N',
        'count' => '8');
      print_r(array_merge_recursive($a1,$a2));
    /*
      Array ( 
         [time] => Array ( [0] => 2012-03-05 13 [1] => 2012-03-05 14 )
         [type] => Array ( [0] => ETC56-605N [1] => ETC56-605N )
         [count] => Array ( [0] => 52 [1] => 8 ) ) 
    */
      

  7.   

    这样?
    $arr = array(
            array (
              'time' => '2012-03-05 13',
              'type' => 'ETC56-605N',
              'count' => '52',
            ),  
            array (
              'time' => '2012-03-05 14',
              'type' => 'ETC56-605N',
              'count' => '8',
            ),  
            array (
              'time' => '2012-03-05 14',
              'type' => 'ETC56-542N',
              'count' => '39',
            ),  
            array (
              'time' => '2012-03-05 15',
              'type' => 'ETC56-542N',
              'count' => '41',
            ),  
            array (
              'time' => '2012-03-05 15',
              'type' => 'ETC61-560N',
              'count' => '10',
            )   
    );
    foreach($arr as $array)
    {
            $newarr[$array['time']][$array['type']] += $array['count'];
    }
    print_r($newarr);