2016-08-23 89 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

我想你不明白我的问题... –