2012-04-17 55 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()不会从你第二阵列压倒一切的。

相关问题