2016-08-23 4 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 IF($ CL => $値として$データ)(IS_ARRAY($データ)){ \t \t \t \tのforeach { \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の配列をマージすることができます。あなたはこの

PHPはあなたが結果を得るでしょう キーで複数の配列をマージグーグル場合 はまた、これはduplicate questionです。

+0

私はあなたの質問を理解できないと思います... –