📅  最后修改于: 2023-12-03 15:03:45.644000             🧑  作者: Mango
在 PHP 中,有两种方法可以将两个或多个数组合并成一个数组:array_merge
和 array + array
。我们来看看它们之间的区别。
array_merge
函数array_merge
函数将两个或多个数组合并成一个数组,并将新数组作为结果返回。如果两个或多个数组中具有相同的键名,则后面的值将覆盖之前的值。
下面是一个用示例:
$arr1 = array('foo' => 'bar', 'hi' => 'bye');
$arr2 = array('hello' => 'world', 'foo' => 'baz');
$result = array_merge($arr1, $arr2);
print_r($result);
输出:
Array
(
[foo] => baz
[hi] => bye
[hello] => world
)
可以看到,$arr1
中的键 'foo'
的值被 $arr2
中的 'foo'
的值覆盖了。
+
运算符+
运算符也可以将两个或多个数组合并成一个数组。但是,它的行为略有不同。它只合并第一个数组中不存在的键名。如果第一个数组中存在键名相同的条目,则第二个数组中的相应条目将被忽略。
下面是一个用示例:
$arr1 = array('foo' => 'bar', 'hi' => 'bye');
$arr2 = array('hello' => 'world', 'foo' => 'baz');
$result = $arr1 + $arr2;
print_r($result);
输出:
Array
(
[foo] => bar
[hi] => bye
[hello] => world
)
可以看到,虽然 $arr2
中具有与 $arr1
中相同的键名 'foo'
,但 $result
中的 'foo'
的值仍为 'bar'
。
array_merge
函数将两个或多个数组合并成一个数组,并将新数组作为结果返回。如果两个或多个数组中具有相同的键名,则后面的值将覆盖之前的值。+
运算符将两个或多个数组合并成一个数组。但是,它的行为略有不同。它只合并第一个数组中不存在的键名。如果第一个数组中存在键名相同的条目,则第二个数组中的相应条目将被忽略。如果您需要合并两个数组,并在遇到相同键名的情况下覆盖它们的值,则应该使用 array_merge
函数。如果您只需要将两个或多个数组组合在一起,并保留第一个数组中现有的键名,则应使用 +
运算符。