2014-04-25 95 views
2

我有這兩個PHP數組我要合併,一個是多維陣列和針是一個正常的一維陣列:含所有可能的PHP合併多維數組鍵從正常陣列

陣列地點:

Array 
(
    [Bedfordview] => 0 
    [Killarney] => 0 
    [Melrose] => 0 
    [Midrand] => 0 
    [Morningside] => 0 
) 

我想與後續的多維數組進行合併:

Array 
(
    [11] => 
    [12] => Array 
     (
      [Bedfordview] => 7 
      [Melrose] => 2 
      [Midrand] => 87 
      [Morningside] => 4 
     ) 

    [13] => Array 
     (
      [Morningside] => 8 
      [Killarney] => 1 
     ) 
) 

我需要的最終結果是這樣的:

Array 
(
    [11] => Array 
     (
      [Bedfordview] => 0   ==FROM FIRST ARRAY 
      [Killarney] => 0   ==FROM FIRST ARRAY 
      [Melrose] => 0    ==FROM FIRST ARRAY 
      [Midrand] => 0    ==FROM FIRST ARRAY 
      [Morningside] => 0   ==FROM FIRST ARRAY 
     ) 
    [12] => Array 
     (
      [Bedfordview] => 7 
      [Melrose] => 2 
      [Midrand] => 87 
      [Morningside] => 4 
      [Killarney] => 0   ==FROM FIRST ARRAY 
     ) 

    [13] => Array 
     (
      [Bedfordview] => 0   ==FROM FIRST ARRAY 
      [Melrose] => 0    ==FROM FIRST ARRAY 
      [Midrand] => 0    ==FROM FIRST ARRAY 
      [Morningside] => 8 
      [Killarney] => 1 
     ) 
) 

任何想法?

回答

1

對於這一點,我會用array_merge

代碼

<?php 

$locations = array(
    'Bedfordview' => 0, 
    'Killarney' => 0, 
    'Melrose'  => 0, 
    'Midrand'  => 0, 
    'Morningside' => 0 
); 

$data = array(
    11 => array(), 
    12 => array(
     'Bedfordview' => 7, 
     'Melrose'  => 2, 
     'Midrand'  => 87, 
     'Morningside' => 4 
    ), 
    13 => array(
     'Morningside' => 8, 
     'Killarney' => 1 
    ) 
); 


$result = array(); 
foreach ($data as $key => $values) { 
    $result[$key] = array_merge($locations, $values); 
} 

print_r($result); 

結果

Array 
(
    [11] => Array 
     (
      [Bedfordview] => 0 
      [Killarney] => 0 
      [Melrose] => 0 
      [Midrand] => 0 
      [Morningside] => 0 
     ) 

    [12] => Array 
     (
      [Bedfordview] => 7 
      [Killarney] => 0 
      [Melrose] => 2 
      [Midrand] => 87 
      [Morningside] => 4 
     ) 

    [13] => Array 
     (
      [Bedfordview] => 0 
      [Killarney] => 1 
      [Melrose] => 0 
      [Midrand] => 0 
      [Morningside] => 8 
     ) 
)