2011-12-10 42 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 
        ) 
) 

$數組2

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 
      (
       [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()'](http://us3.php.net/manual/en/function。 array-merge.php) – rdlowrey

回答

1

仍然是你正在尋找一個有點難以做出來。讓我知道這是否達到了預期的效果:

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

print_r($array1); 
+0

它的工作。感謝您的邏輯。我嘗試了類似的東西,但我看不到我失敗的地方。謝謝大家。 – Patrioticcow

0
+0

它將它們合併爲一個後面的數組array1-> array2-> array3',而不是全部在一個內部 – Patrioticcow

+0

@Patrioticcow也許你可以發佈代碼來具體展示(以簡化的方式)你想要的樣子行爲不同於'array_merge()'?用所有這些數組看到我不容易看到print_r''d – rdlowrey

+0

我編輯了我的文章。 'array_merge'沒有組合數組,只是在彼此 – 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; 

嘗試一個