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() 结合数组,后面的相同字符串键覆盖前面的;用 + 链接数组,前面的相同相同数字键覆盖后面的。