PHP数组直接相加和array_merge的区别

-> 数组相加:

类似于补充的效果,如果存在相同的键,那么后边的舍弃,不同则添加。

-> 数组array_merge:

类似于合并效果,如果存在相同的数值键,后边的会更新下标然后合并到新数组,如果是相同的字符键,后边的值会覆盖前边的值。

-> 特别注意:两种方式都只针对键是否相同,和值是否相同没有任何关系!
请看程序验证:
$arr1 = [
    '索1',
    '索2',
    'a' => 'ARR_1',
    'b' => 'B',
    'c' => 'C',
];
$arr2 = [
    '数1',
    'a' => 'ARR_2',
    'd' => 'D',
];

// 数组直接相加
$arr = $arr1 + $arr2;
print_r($arr);
$arr = $arr2 + $arr1;
print_r($arr);

// 数组函数array_merge
$arr = array_merge($arr1, $arr2);
print_r($arr);
$arr = array_merge($arr2, $arr1);
print_r($arr);

PHP数组直接相加和array_merge的区别