PHP函数之array_merge()
发布时间:2023-06-16 15:26:30
PHP的array_merge()函数是用来合并两个或多个数组,返回一个新数组。它将每个数组中的元素合并到一个新数组中,如果有重复的键名,后面的值会覆盖前面的值。
比如,我们有两个数组:
$array1 = ['a' => 1, 'b' => 2]; $array2 = ['c' => 3, 'd' => 4];
我们可以使用array_merge()函数将它们合并成一个新数组:
$result = array_merge($array1, $array2); print_r($result);
输出结果为:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
)
可以看到,新数组中包含了数组1中的元素和数组2中的元素。
array_merge()函数还可以合并多个数组:
$array1 = ['a' => 1, 'b' => 2]; $array2 = ['c' => 3, 'd' => 4]; $array3 = ['e' => 5, 'f' => 6]; $result = array_merge($array1, $array2, $array3); print_r($result);
输出结果为:
Array
(
[a] => 1
[b] => 2
[c] => 3
[d] => 4
[e] => 5
[f] => 6
)
可以看到,新数组中包含了所有数组的元素。
需要注意的是,array_merge()函数只能合并数字索引和关联索引数组,不能合并其它类型的数组。如果合并的数组中包含对象或资源类型的值,会抛出一个警告并返回NULL。如果有多个数组中有相同的数字索引,后面的数组会覆盖前面的数组,但关联索引不会被覆盖。
另外,array_merge()函数会按顺序合并多个数组,并将重复的键名后面数组的值覆盖前面数组的值。如果我们想要保留重复的键名,可以使用"+"运算符来实现:
$array1 = ['a' => 1, 'b' => 2]; $array2 = ['b' => 3, 'c' => 4]; $result = $array1 + $array2; print_r($result);
输出结果为:
Array
(
[a] => 1
[b] => 2
[c] => 4
)
可以看到,$array2中的"b"键覆盖了$array1中的"b"键,但"b"键的前一个值2仍然保留了下来。
总的来说,array_merge()函数非常适合合并多个数组,我们可以利用它来简化代码并提高效率。同时,需要注意一些细节,避免引起不必要的错误。
