2011-02-24 124 views
0

我有2列如下:PHP結合2個陣列在一個單一的一個

 
array1: 
1 => andrew 
2 => Colin 
... 

and 
array2: 
1 => Helen 
2 => Angela 
.... 

我想知道我可以將它們組合起來,導致像安德魯=>海倫。我試過array_intersect_key($ arrat1,array_fill_keys($ arrat2,NULL));但遺憾的是它並沒有因爲事實上我有PHP 5.1工作,這需要PHP 5.2

回答

1

使用array_combine(),通過你的第一個數組作爲鍵陣列,和你的第二個數組作爲值的數組:

$combined = array_combine($array1, $array2); 

請注意,您的數組必須具有相等的長度或功能將不起作用。

+0

這應該工作,但在那種情況下,你可以這樣做:$合併= array_combine(array_values( $ array1),array_values($ array2)); – 2011-02-24 12:29:10

+0

@Stephen Orr:'array_combine()'會忽略索引,以維護相應排序輸入數組所需的順序。 – BoltClock 2011-02-24 12:31:54

+0

我沒有意識到!我已經使用'array_combine()'一點點,但從來沒有遇到過。 – 2011-02-24 12:34:11

0
$new_array = array(); 
foreach ($array1 as $k => $v) { 
    $new_array[$v] = $array2[$k]; 
} 
0

試試這個功能array_merge()

0

與foreach循環就做: - 如果你真的這樣做有那些數字索引,它可能不是 -

$result = array(); 
foreach($array1 as $id => $v) { 
    $result[$v] = $array2[$id]; 
}