在 PHP 中,数组的“相加”操作可以通过多种方式实现,具体取决于你想要的结果。以下是几种常见的数组相加操作及其解释:
+
运算符+
运算符用于合并两个数组。如果两个数组中有相同的键,那么左侧数组的值会被保留,右侧数组的值会被忽略。
$array1 = ['a' => 1, 'b' => 2];
$array2 = ['b' => 3, 'c' => 4];
$result = $array1 + $array2;
print_r($result);
输出:
Array
(
[a] => 1
[b] => 2
[c] => 4
)
array_merge()
函数array_merge()
函数用于合并两个或多个数组。如果两个数组中有相同的键,那么右侧数组的值会覆盖左侧数组的值。
$array1 = ['a' => 1, 'b' => 2];
$array2 = ['b' => 3, 'c' => 4];
$result = array_merge($array1, $array2);
print_r($result);
输出:
Array
(
[a] => 1
[b] => 3
[c] => 4
)
array_merge_recursive()
函数array_merge_recursive()
函数用于递归地合并两个或多个数组。如果两个数组中有相同的键,且值都是数组,那么这些数组会被递归合并。
$array1 = ['a' => 1, 'b' => ['c' => 2]];
$array2 = ['b' => ['d' => 3], 'e' => 4];
$result = array_merge_recursive($array1, $array2);
print_r($result);
输出:
Array
(
[a] => 1
[b] => Array
(
[c] => 2
[d] => 3
)
[e] => 4
)
array_replace()
函数array_replace()
函数用于替换数组中的元素。如果两个数组中有相同的键,那么右侧数组的值会替换左侧数组的值。
$array1 = ['a' => 1, 'b' => 2];
$array2 = ['b' => 3, 'c' => 4];
$result = array_replace($array1, $array2);
print_r($result);
输出:
Array
(
[a] => 1
[b] => 3
[c] => 4
)
array_replace_recursive()
函数array_replace_recursive()
函数用于递归地替换数组中的元素。如果两个数组中有相同的键,且值都是数组,那么这些数组会被递归替换。
$array1 = ['a' => 1, 'b' => ['c' => 2]];
$array2 = ['b' => ['d' => 3], 'e' => 4];
$result = array_replace_recursive($array1, $array2);
print_r($result);
输出:
Array
(
[a] => 1
[b] => Array
(
[c] => 2
[d] => 3
)
[e] => 4
)
+
运算符:保留左侧数组的值,忽略右侧数组的值。array_merge()
:覆盖左侧数组的值。array_merge_recursive()
:递归合并数组。array_replace()
:替换左侧数组的值。array_replace_recursive()
:递归替换数组的值。根据你的需求选择合适的数组相加方式。