2011-12-10 11 views
0

私はこれらの配列を持っている:どのようにPHPで配列を組み合わせるには?

$配列1

Array 
      (
       [0] => Array 
        (
         [state] => AE 
         [state_pri] => 0 
        ) 

       [1] => Array 
        (
         [state] => AK 
         [state_pri] => 0 
        ) 

       [2] => Array 
        (
         [state] => AL 
         [state_pri] => 0 
        ) 
) 

$ array2の

Array 
      (
       [0] => Array 
        (
         [0] => Array 
          (
           [count1] => 0 
          ) 

        ) 

       [1] => Array 
        (
         [0] => Array 
          (
           [count1] => 1 
          ) 

        ) 

       [2] => Array 
        (
         [0] => Array 
          (
           [count1] => 18 
          ) 

        ) 
) 

$ ARRAY3

Array 
      (
       [0] => Array 
        (
         [0] => Array 
          (
           [count] => 0 
          ) 

        ) 

       [1] => Array 
        (
         [0] => Array 
          (
           [count] => 1 
          ) 

        ) 

       [2] => Array 
        (
         [0] => Array 
          (
           [count] => 18 
          ) 

        ) 
) 

...と私はこのような何かを取得したいと思い:

Array 
      (
       [0] => Array 
        (
         [state] => AE 
         [state_pri] => 0 
         [0] => Array 
          (
           [count] => 0 
          ) 
         [0] => Array 
          (
           [count1] => 0 
          ) 
        ) 

       [1] => Array 
        (
         [state] => AK 
         [state_pri] => 0 
         [1] => Array 
          (
           [count] => 0 
          ) 
         [1] => Array 
          (
           [count1] => 0 
          ) 
        ) 

       [2] => Array 
        (
         [state] => AL 
         [state_pri] => 0 
         [2] => Array 
          (
           [count] => 0 
          ) 
         [2] => Array 
          (
           [count1] => 0 
          ) 
        ) 
) 

これを行う方法に関するアイデアはありますか?

編集:ただ、いくつかのより多くのコードを追加するには、私がarray_mergeを使用している場合、私が取得:array_merge機能について

Array 
      (
       [0] => Array 
        (
         [state] => AE 
         [state_pri] => 0 
        ) 

       [1] => Array 
        (
         [state] => AK 
         [state_pri] => 0 
        ) 

       [2] => Array 
        (
         [state] => AL 
         [state_pri] => 0 
        ) 
       [3] => Array 
        (
         [0] => Array 
          (
           [count] => 0 
          ) 

        ) 

       [4] => Array 
        (
         [0] => Array 
          (
           [count] => 1 
          ) 

        ) 

       [5] => Array 
        (
         [0] => Array 
          (
           [count] => 18 
          ) 

        ) 
       ..... 
) 
+0

[ 'array_merge()']ことを試してみてください。 array-merge.php) – rdlowrey

答えて

1

まだ作るには少し難しいです。これは望ましい結果を達成した場合、私に教えてください:

foreach ($array1 as $key => $val) { 
    $array1[$key][] = $array3[$key]; 
    $array1[$key][] = $array2[$key]; 
} 

print_r($array1); 
+0

それは働いた。論理に感謝します。私は似たようなことを試しましたが、私はどこで失敗するのか分かりません皆さんありがとう。 – Patrioticcow

0

何?あなたが探しているもの

http://www.php.net/manual/en/function.array-merge.php

+0

それは、それらを互いに1つずつマージして、 'array1-> array2-> array3'であり、全てが内部ではありません。 – Patrioticcow

+0

@Patrioticcowおそらくあなたは、(簡単な方法で)動作は 'array_merge()'と異なるでしょうか?これらの配列全てで見るのは簡単ではありません。print_r''d – rdlowrey

+0

私の投稿を編集しました。 'array_merge'は配列を結合していないので、配列を1つずつ追加します。 – Patrioticcow

0
$merged = array(); 
foreach (array($array1,$array2,$array3) as $array) { 
    foreach ($array as $key=>$value) { 
     if (!isset($merged[$key])) { 
      $merged[$key] = array();  
     } 
     $merged[$key] += $value; 
    } 
} 
print_r($merged); 
+0

これは機能しましたが、' $ array1と$ array2'のみを組み合わせました。 – Patrioticcow

+0

あなたが今質問している方法は、不可能です。配列は、同一のキーを持つ複数のエントリを持つことはできません。 –

0
$combined=$array0 + $array1; 

はhttp://us3.php.net/manual/en/function(1

関連する問題