PHP array_merge() 函数用于合并一个或多个数组。该函数把一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。
$array1 = array("color" => "red", 2, 4); $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge($array1, $array2); print_r($result);
上面的代码会输出:
Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )
从上面可以看出,当有重复的键时,后者会覆盖前者。如果想保留所有值,可以使用 + 运算符:
$result = $array1 + $array2;
这样就可以保留所有值,但是如果有重复的键,则只会保留前者。
此外,还可以使用 array_merge_recursive() 函数来递归地合并数组。它会遍历所有的值,如果遇到相同的键,则将其值合并为新数组。例如:
$arr1 = array("a"=>"red","b"=>"green"); $arr2 = array("c"=>"blue","b"=>"yellow"); $arr3 = array("a"=>"purple","d"=>"orange"); $result = array_merge_recursive($arr1, $arr2, $arr3); print_r($result);
上面代码会输出:
Array ( [a] => Array ( [0] => red [1] => purple )[b] => Array ( [0] => green [1] => yellow )[c] => blue[d] => orange )
<
完整的 PHP Array 参考手册
把两个数组合并为一个数组:
array_merge() 函数用于把一个或多个数组合并为一个数组。
提示:您可以向函数输入一个或者多个数组。
注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。
注释:如果您仅仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引(参见下面的实例 1)。
提示:该函数与 array_merge_recursive() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
参数 | 描述 |
---|---|
array1 | 必需。规定数组。 |
array2 | 可选。规定数组。 |
array3 | 可选。规定数组。 |
返回值: | 返回合并的数组。 |
---|---|
PHP 版本: | 4+ |
更新日志: | 截至 PHP 5.0,该函数仅接受类型数组的参数。 |
仅使用一个带有整数键名的参数:
PHP list() 函数 完整的 PHP Array 参考手册实例 把数组中的值赋给一些变量:?php $my_array = array(Dog,Cat,Horse); list($a, ...
PHP uasort() 函数 完整的 PHP Array 参考手册实例 使用用户自定义的比较函数对数组 $arr 中的元素按键值进行排序:?php functio...
PHP trigger_error() 函数 完整的 PHP Error 参考手册定义和用法 trigger_error() 函数创建用户自定义的错误消息。 trigger_erro...
PHP filter_input() 函数 完整的 PHP Filter 参考手册定义和用法 filter_input() 函数从脚本外部获取输入(比如表单输入),并进...
PHP FILTER_CALLBACK 过滤器 完整的 PHP Filter 参考手册定义和用法 FILTER_CALLBACK 过滤器调用用户自定义函数来过滤数据。 该...