array_merge()函数与array_merge_recursive()相同,可以将两个或多个数组合并在一起,形成一个联合的数组。
二者的区别在于:
当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式。
array_merge()会覆盖前面存在的键/值对,替换为当前输入数组中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。
还有一个数组合并的形式,就是递归追加数组。
其形式为:
array array_merge_recursive(array array1,array array2[…,array arrayN])
例子:
<?php //追加数组 //by www.jb200.com $fruit1 = array("apple" => "red", "banana" => "yellow"); $fruit2 = array("pear" => "yellow", "apple" => "green"); $result = array_merge_recursive($fruit1, $fruit2); print_r($result); // output // Array ( [apple] => Array ( [0] => red [1] => green ) [banana] => yellow [pear] => yellow ) ?>
现在键 apple 指向一个数组,这个数组由两个颜色值组成的索引数组。