2016-08-23 94 views
-7

對我來說這不是一個簡單的解釋,但我嘗試。 我要創建一個多維數組合並通過按鍵在同一陣列,按鍵合併多個數組

我的主陣列是:

[A] => Array 
    (
     [A1] => 
     [A2] => 
     [A3] => 
     [A4] => 
     [A5] => 
    ) 
[A1] => Array 
    (
     [A1a] => 
     [A1b] => 
     [A1c] => 
     [A1d] => 
     [A1f] => 
    ) 
[A1a] => Array 
    (
     [A1a1] => 
     [A1a2] => 
     [A1a3] => 
     [A1a4] => 
     [A1a5] => 
    ) 
[A1a1] => value 

所以,我需要的是:

[A] => Array 
    (
    [A1] => Array 
     (
     [A1a] => Array 
      (
       [A1a1] => value 
      ) 
     ) 

這是我嘗試過:

$final = array(); 
foreach($content as $key => $value){ 
    $final[$key] = glue($content, $key); 
} 

function glue($content, $i){ 
    $data = ''; 
    if(isset($content[$i])) { 
     $data = $content[$i]; 
     if(is_array($data)){ 
      foreach($data as $cl => $value) { 
       $data[$cl] = glue($content, $cl); 
      } 
     } 
    } 

    return $data; 

} 

因爲我有我想要的但結束鍵是空的:

[A14] => Array 
(
    [A14a] => Array 
     (
      [7461*] => 
     ) 

    [A14b] => Array 
     (
      [A14b1] => Array 
       (
        [A14b11] => Array 
         (
          [7600*] => 
          [7601*] => 
         ) 

        [A14b12] => Array 
         (
          [7602*] => 
          [7603*] => 
         ) 

       ) 
+7

證明你有試過什麼 –

+0

的foreach($內容$鍵=> $值){ \t $內容[$ CL =膠($內容,$ CL); } \t function glue($ contents,$ i){ \t $ data =''; \t \t if(isset($ contents [$ i])){ \t \t \t $ data = $ contents [$ i]; \t \t \t如果(is_array($數據)){ \t \t \t \t的foreach($數據作爲$ CL => $值){ \t \t \t \t \t $數據[$ CL] =膠水($內容,$ CL); \t \t \t \t} \t \t \t} \t \t} \t \t \t \t回$的數據; \t \t } 這將所有數組添加到他的「父」,但結束數組是空的,寬鬆的價值,,, –

回答

0

您可以在數組中使用array_merge_recursive合併項。 此外,如果你google一下

PHP通過按鍵 你會得到結果合併多陣列還,這是一個duplicate question

+0

我想你不明白我的問題... –