2013-10-07 42 views
0

我有這個數組:如何用php按鍵分組多維數組?

Array 
(
    [0] => Array 
     (
      [0] => 78 
      [mount] => 78 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-01 
      [insertdate] => 2013-10-01 
     ) 

    [1] => Array 
     (
      [0] => 130 
      [mount] => 130 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-02 
      [insertdate] => 2013-10-02 
     ) 

    [2] => Array 
     (
      [0] => 210 
      [mount] => 210 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-03 
      [insertdate] => 2013-10-03 
     ) 

    [3] => Array 
     (
      [0] => 190 
      [mount] => 190 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-04 
      [insertdate] => 2013-10-04 
     ) 

    [4] => Array 
     (
      [0] => 250 
      [mount] => 250 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-05 
      [insertdate] => 2013-10-05 
     ) 

    [5] => Array 
     (
      [0] => 300 
      [mount] => 300 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-06 
      [insertdate] => 2013-10-06 
     ) 

    [6] => Array 
     (
      [0] => 330 
      [mount] => 330 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-07 
      [insertdate] => 2013-10-07 
     ) 

    [7] => Array 
     (
      [0] => 100 
      [mount] => 100 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-01 
      [insertdate] => 2013-10-01 
     ) 

    [8] => Array 
     (
      [0] => 310 
      [mount] => 310 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-02 
      [insertdate] => 2013-10-02 
     ) 

    [9] => Array 
     (
      [0] => 200 
      [mount] => 200 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-03 
      [insertdate] => 2013-10-03 
     ) 

    [10] => Array 
     (
      [0] => 400 
      [mount] => 400 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-04 
      [insertdate] => 2013-10-04 
     ) 

    [11] => Array 
     (
      [0] => 470 
      [mount] => 470 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-05 
      [insertdate] => 2013-10-05 
     ) 

    [12] => Array 
     (
      [0] => 310 
      [mount] => 310 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-06 
      [insertdate] => 2013-10-06 
     ) 

    [13] => Array 
     (
      [0] => 600 
      [mount] => 600 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-07 
      [insertdate] => 2013-10-07 
     ) 

) 

的目標是將其轉換成一個維數組,其結果爲:

array([type]=>activation [mount]=>78,130,210,190,250,300,330), 
array([type]=>revenue [mount]=>100,310,200,400,470,310,600) 
+0

簡單的foreach將做的工作... –

回答

0

有一個非常簡單的方法與PHP4和新的做吧,函數被稱爲array_merge_recursive()。它會將子數組合併成一個子數組。如果有相同的密鑰,這將被合併成一個數組作爲值的單個密鑰。

查看完整文檔here

0

我認爲這不是最好的變種,但無論如何,它的作品

foreach ($array as $value) { 
     $array2[$value['type']][] = $value['mount']; 
    } 
    foreach ($array2 as $key => $value) { 
     $result[] = array(
      'type' => $key, 
      'mount' => implode(',', $value) 
     ); 
    } 
+0

感謝,它的工作原理就像一個魅力 –