更新于 2025-10-03
在 PHP 中,使用加号(+)运算符连接两个数组时,并不是简单地将两个数组的元素合并到一起,而是按照键名合并:
示例代码:
$a = [0 => 'a', 1 => 'b'];
$b = [1 => 'c', 2 => 'd'];
$result = $a + $b;
print_r($result);
输出:
Array
(
[0] => a
[1] => b
[2] => d
)
说明:
1 在两个数组中都出现了,结果中取的是 $a 的 'b',而不是 $b 的 'c'。2 只在 $b 中出现,结果中它的值是 'd'。如果你想要顺序合并而不是根据键名覆盖,可以用 array_merge():
$a = [0 => 'a', 1 => 'b'];
$b = [1 => 'c', 2 => 'd'];
$result = array_merge($a, $b);
print_r($result);
输出:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)
总结:
$a + $b:按键名合并,左侧优先。array_merge($a, $b):顺序合并,键名会被重新分配(如果是数字键)。