PHP数组相关函数详细教程——array_merge
array_merge() 函数用于将一个或多个数组合并为一个数组。这个函数将返回一个新的数组,其中包含了所有输入数组中的值。
使用 array_merge() 函数时需要注意一些细节。我们来详细了解一下。
语法
array_merge(array1,array2,array3,...)
参数
array1: 必填,合并后数组的 个数组。
array2: 必填,合并后数组的第二个数组。
array3,...: 可选参数,合并后数组的第三个、第四个、第 n 个数组。
返回值
array_merge() 函数返回一个合并后的数组。
示例
下面的例子展示了如何使用 array_merge() 函数将两个数组合并起来:
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_merge($a1,$a2));
?>
输出:
Array ( [0] => red [1] => green [2] => blue [3] => yellow )
注意:
- 当输入的两个数组中有相同的值时,这些值会按照输入数组的顺序依次排列。
- 如果这些数组都带有字符串键,则将输入的数组作为多个参数传递给 array_merge() 函数时,由于 PHP 数组是关联数组,相同键会造成冲突。如果发生这种情况,后面的数组将覆盖前面的数组。
- array_merge() 函数只会处理整数和字符串键名。其他的键名将会被重置。
示例代码:
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("b"=>"blue","c"=>"yellow");
print_r(array_merge($a1,$a2));
?>
输出:
Array ( [a] => red [b] => blue [c] => yellow )
在以上示例中,键名相同的 "b" 只存在于 个数组中,所以第二个数组的 "b" 覆盖了 个数组的 "b"。
提示:如果您想让重复的值保留在最终的数组中,可以使用 array_merge_recursive() 函数。这个函数比 array_merge() 函数更加灵活,可以在合并过程中保留重复的值。
总结
array_merge() 函数可以将两个或者多个数组合并起来成为一个数组。在处理关联数组时需要注意相同的键将会覆盖前面的键。当合并多个数组时如果以字符串为键名有可能出现冲突,需要特别处理。
