array_merge  ( array $array1 [, array $array2 [, array $... ]] )


​编辑本段​ ​用法


1)如果输入的数组中有相同的字符串键名,该键的键值为最后一个键名对应的值(后面的值覆盖前面相同的值)。如果数组是数字键名的,则键名会以连续方式重新索引,即后面的值将不会覆盖原来的值,而是附加到后面。


2)如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。(参见例子 2)


3):当后面数组元素中键名与其前面数组元素键名相同时,则结果数组中相应键名的键值则被后者覆盖,即为后者键值。(参见例子3)



array_merge(array1[,array2[,array3...]])

参数

描述

array1

必需。输入的第一个数组。

array2

必需。输入的第二个数组。

array3

可选。可指定的多个输入数组。

例子 1



<?php

$a1=array("a"=>"Horse","b"=>"Dog");

$a2=array("c"=>"Cow","b"=>"Cat");

print_r(array_merge($a1,$a2));

?>

输出:



Array ( [a] => Horse [b] => Cat [c] => Cow )

例子 2


仅使用一个数组参数:



<?php

$a=array(3=>"Horse",4=>"Dog");

print_r(array_merge($a));

?>

输出:



Array ( [0] => Horse [1] => Dog )

例子 3



<?php

$a1=array("a"=>"Horse","b"=>"Dog");

$a2=array("a"=>"Cow","b"=>"Cat");

print_r(array_merge($a1,$a2));

?>

输出:



Array ( [a] => Cow [b] => Cat )

Array ( [0] => Horse [1] => Dog )


​编辑本段​ ​PHP中 array_merge() 和 + 的区别总结


若采用 array_merge() 结合数组,后面的相同字符串键覆盖前面的;用 + 链接数组,前面的相同相同数字键覆盖后面的。