2013-01-07 35 views
0

我有一個三維數組,如下所示。尋找想法來格式化一個數組?

Array 
(
[d1] => Array 
    (
     [c1] => Array 
      (
       [t1] => Array 
        (
         [a1] => 1 
         [a2] => 2 
         [a3] => 1 
         [a4] => 1 
         [a5] => 1 
         [a6] => 1 
         [a7] => 1 
        ) 

       [t2] => Array 
        (
         [a1] => 0 
         [a2] => 1 
         [a3] => 0 
         [a4] => 1 
         [a5] => 2 
         [a6] => 0 
         [a7] => 1        
        ) 

       [t3] => Array 
        (
         [a1] => 1 
         [a2] => 3 
         [a3] => 2 
         [a4] => 4 
         [a5] => 2 
         [a6] => 2 
         [a7] => 3        
        ) 
      ) 

     [c2] => Array 
      (
       [t1] => Array 
        (
         [a1] => 1 
         [a2] => 2 
         [a3] => 1 
         [a4] => 2 
         [a5] => 2 
         [a6] => 1 
         [a7] => 2        
        ) 

       [t2] => Array 
        (
         [a1] => 0 
         [a2] => 1 
         [a3] => 0 
         [a4] => 1 
         [a5] => 0 
         [a6] => 0 
         [a7] => 0       
        ) 

       [t3] => Array 
        (
         [a1] => 1 
         [a2] => 1 
         [a3] => 1 
         [a4] => 1 
         [a5] => 2 
         [a6] => 1 
         [a7] => 2        
        ) 
      ) 

    ) 
[d2] => Array 
    (
     [c1] => Array 
      (
       [t1] => Array 
        (
         [a1] => 1 
         [a2] => 2 
         [a3] => 1 
         [a4] => 1 
         [a5] => 1 
         [a6] => 1 
         [a7] => 1 
        ) 

       [t2] => Array 
        (
         [a1] => 0 
         [a2] => 1 
         [a3] => 0 
         [a4] => 1 
         [a5] => 2 
         [a6] => 0 
         [a7] => 1        
        ) 

       [t3] => Array 
        (
         [a1] => 1 
         [a2] => 3 
         [a3] => 2 
         [a4] => 4 
         [a5] => 2 
         [a6] => 2 
         [a7] => 3        
        ) 
      ) 

     [c2] => Array 
      (
       [t1] => Array 
        (
         [a1] => 1 
         [a2] => 2 
         [a3] => 1 
         [a4] => 2 
         [a5] => 2 
         [a6] => 1 
         [a7] => 2        
        ) 

       [t2] => Array 
        (
         [a1] => 0 
         [a2] => 1 
         [a3] => 0 
         [a4] => 1 
         [a5] => 0 
         [a6] => 0 
         [a7] => 0       
        ) 

       [t3] => Array 
        (
         [a1] => 1 
         [a2] => 1 
         [a3] => 1 
         [a4] => 1 
         [a5] => 2 
         [a6] => 1 
         [a7] => 2        
        ) 
      ) 

    ) 

) 

這是數組的PHP代碼:

$data = array(
    'd1' => array(
    'c1' => array(
     't1' => array(
     'a1' => 1, 
     'a2' => 2, 
     'a3' => 1, 
     'a4' => 1, 
     'a5' => 1, 
     'a6' => 1, 
     'a7' => 1, 
    ), 
     't2' => array(
     'a1' => 0, 
     'a2' => 1, 
     'a3' => 0, 
     'a4' => 1, 
     'a5' => 2, 
     'a6' => 0, 
     'a7' => 1, 
    ), 
     't3' => array(
     'a1' => 1, 
     'a2' => 3, 
     'a3' => 2, 
     'a4' => 4, 
     'a5' => 2, 
     'a6' => 2, 
     'a7' => 3, 
    ), 
    ), 
    'c2' => array(
     't1' => array(
     'a1' => 1, 
     'a2' => 2, 
     'a3' => 1, 
     'a4' => 2, 
     'a5' => 2, 
     'a6' => 1, 
     'a7' => 2, 
    ), 
     't2' => array(
     'a1' => 0, 
     'a2' => 1, 
     'a3' => 0, 
     'a4' => 1, 
     'a5' => 0, 
     'a6' => 0, 
     'a7' => 0, 
    ), 
     't3' => array(
     'a1' => 1, 
     'a2' => 1, 
     'a3' => 1, 
     'a4' => 1, 
     'a5' => 2, 
     'a6' => 1, 
     'a7' => 2, 
    ), 
    ), 
), 
    'd2' => array(
    'c1' => array(
     't1' => array(
     'a1' => 1, 
     'a2' => 2, 
     'a3' => 1, 
     'a4' => 1, 
     'a5' => 1, 
     'a6' => 1, 
     'a7' => 1, 
    ), 
     't2' => array(
     'a1' => 0, 
     'a2' => 1, 
     'a3' => 0, 
     'a4' => 1, 
     'a5' => 2, 
     'a6' => 0, 
     'a7' => 1, 
    ), 
     't3' => array(
     'a1' => 1, 
     'a2' => 3, 
     'a3' => 2, 
     'a4' => 4, 
     'a5' => 2, 
     'a6' => 2, 
     'a7' => 3, 
    ), 
    ), 
    'c2' => array(
     't1' => array(
     'a1' => 1, 
     'a2' => 2, 
     'a3' => 1, 
     'a4' => 2, 
     'a5' => 2, 
     'a6' => 1, 
     'a7' => 2, 
    ), 
     't2' => array(
     'a1' => 0, 
     'a2' => 1, 
     'a3' => 0, 
     'a4' => 1, 
     'a5' => 0, 
     'a6' => 0, 
     'a7' => 0, 
    ), 
     't3' => array(
     'a1' => 1, 
     'a2' => 1, 
     'a3' => 1, 
     'a4' => 1, 
     'a5' => 2, 
     'a6' => 1, 
     'a7' => 2, 
    ), 
    ), 
), 
); 

現在我想分裂這個數組分成幾個陣列,並把這些陣列成一個陣列像下面。

Array 
(
[0] => Array 
     (
      [d1] => d1 
      [c1] => c1 
      [t1] => t1 
      [a1] => 1 
      [a2] => 2 
      [a3] => 1 
      [a4] => 1 
      [a5] => 1 
      [a6] => 1 
      [a7] => 1 
     ) 
[1] => Array 
     (
      [d1] => d1 
      [c1] => c1 
      [t1] => t2 
      [a1] => 0 
      [a2] => 1 
      [a3] => 0 
      [a4] => 1 
      [a5] => 2 
      [a6] => 0 
      [a7] => 1 
     ) 
[2] => Array 
     (
      [d1] => d1 
      [c1] => c1 
      [t1] => t3 
      [a1] => 1 
      [a2] => 3 
      [a3] => 2 
      [a4] => 4 
      [a5] => 2 
      [a6] => 2 
      [a7] => 3 
     ) 
[3] => Array 
     (
      [d1] => d1 
      [c1] => c2 
      [t1] => t1 
      [a1] => 1 
      [a2] => 2 
      [a3] => 1 
      [a4] => 2 
      [a5] => 2 
      [a6] => 1 
      [a7] => 2 
     ) 
[4] => Array 
     (
      [d1] => d1 
      [c1] => c2 
      [t1] => t2 
      [a1] => 0 
      [a2] => 1 
      [a3] => 0 
      [a4] => 1 
      [a5] => 0 
      [a6] => 0 
      [a7] => 0 
     ) 
[5] => Array 
     (
      [d1] => d1 
      [c1] => c2 
      [t1] => t3 
      [a1] => 1 
      [a2] => 1 
      [a3] => 1 
      [a4] => 1 
      [a5] => 2 
      [a6] => 1 
      [a7] => 2 
     ) 
[6] => Array 
     (
      [d1] => d1 
      [c1] => c1 
      [t1] => t1 
      [a1] => 1 
      [a2] => 2 
      [a3] => 1 
      [a4] => 1 
      [a5] => 1 
      [a6] => 1 
      [a7] => 1 
     ) 
[1] => Array 
     (
      [d1] => d2 
      [c1] => c1 
      [t1] => t2 
      [a1] => 0 
      [a2] => 1 
      [a3] => 0 
      [a4] => 1 
      [a5] => 2 
      [a6] => 0 
      [a7] => 1 
     ) 
[7] => Array 
     (
      [d1] => d2 
      [c1] => c1 
      [t1] => t3 
      [a1] => 1 
      [a2] => 3 
      [a3] => 2 
      [a4] => 4 
      [a5] => 2 
      [a6] => 2 
      [a7] => 3 
     ) 
[8] => Array 
     (
      [d1] => d2 
      [c1] => c2 
      [t1] => t1 
      [a1] => 1 
      [a2] => 2 
      [a3] => 1 
      [a4] => 2 
      [a5] => 2 
      [a6] => 1 
      [a7] => 2 
     ) 
[9] => Array 
     (
      [d1] => d2 
      [c1] => c2 
      [t1] => t2 
      [a1] => 0 
      [a2] => 1 
      [a3] => 0 
      [a4] => 1 
      [a5] => 0 
      [a6] => 0 
      [a7] => 0 
     ) 
[10] => Array 
     (
      [d1] => d2 
      [c1] => c2 
      [t1] => t3 
      [a1] => 1 
      [a2] => 1 
      [a3] => 1 
      [a4] => 1 
      [a5] => 2 
      [a6] => 1 
      [a7] => 2 
     ) 
) 

尋找任何想法如何繼續......

+0

究竟你想改變嗎?對我來說,這是一大堆看似隨意的數據xD – Raekye

+0

這樣做的目標是什麼? – 2013-01-07 06:03:37

+0

你有什麼嘗試?它需要很長時間才能將var_dump更改爲可用數組(尤其是這個大)。 –

回答

4

假設$data是你原來的多維數組:

$final = array(); 
foreach($data as $di => $dv){ 
    foreach($dv as $ci => $cv){ 
     foreach($cv as $ti => $tv){ 
      $final[] = array_merge(array("d" => $di, "c" => $ci, "t" => $ti), $tv); 
     } 
    } 
} 
var_dump($final); 

你可以看到一個示範here

+0

謝謝阿薩德.......... –