更新于 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)
:顺序合并,键名会被重新分配(如果是数字键)。