2012-04-17 58 views
2

我有兩個陣列兩個數組組合成第三陣列

$arr1 = array(
    'setting_one' => 'abc', 
    'setting_two' => 'def', 
    'setting_three' => 'test' 
); 

$arr2 = array(
    'setting_two' => 'user defined' 
); 

$arr3= array(); 

我想$array3看起來像

array(
    'setting_one' => 'abc'; 
    'setting_two' => 'user defined', 
    'setting_three' => 'test' 
); 

我如何可以合併兩個數組到第三陣列?進入現實世界的例子,前兩個數組是設置數組,第一個數組是全局數組,而第二個數組是用戶定義的設置。第三個數組是兩個數組的組合,同時偏向全局設置數組上的第二個數組值。

+0

是否有任何理由你不能覆蓋的價值?而不是製作$ arr2 – 2012-04-17 03:07:46

+0

@LawrenceCherone可能有更長的自定義設置列表? – hjpotter92 2012-04-17 03:13:29

+1

@ChasingDeath Ya,數組2可能有更多的設置不是由全局設置數組提供的。 – Eli 2012-04-17 03:16:32

回答

4
$arr3 = array_merge($arr1, $arr2); 

這將arr2合併到arr1中(意味着通過使用來自arr2的值來解決任何衝突)。

請注意,這不是遞歸的,也不會以您可能期望的方式合併子數組。

http://php.net/array_merge

+0

哦,嗯,我在發佈之前看了一下,但需要確認。我並不知道遞歸不是一個特徵。感謝您清理它 – Eli 2012-04-17 03:13:51

1
$arr3 = array_merge($arr1, $arr2); 

array_merge()不會從你第二陣列壓倒一切的。

相關問題