插件窝 干货文章 php 不同数组相加

php 不同数组相加

数组 array 递归 函数 911    来源:    2025-03-19

在 PHP 中,数组的“相加”操作可以通过多种方式实现,具体取决于你想要的结果。以下是几种常见的数组相加操作及其解释:

1. 使用 + 运算符

+ 运算符用于合并两个数组。如果两个数组中有相同的键,那么左侧数组的值会被保留,右侧数组的值会被忽略。

$array1 = ['a' => 1, 'b' => 2];
$array2 = ['b' => 3, 'c' => 4];

$result = $array1 + $array2;

print_r($result);

输出:

Array
(
    [a] => 1
    [b] => 2
    [c] => 4
)

2. 使用 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
)

3. 使用 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
)

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
)

5. 使用 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():递归替换数组的值。

根据你的需求选择合适的数组相加方式。