直接上代码
$a = [
0 => 'a_0',
2 => 'a_2',
3 => 'a_3',
'c' => 'a_c'
];
$b = [
1 => 'b_1',
3 => 'b_3',
4 => 'b_4',
'c' => 'b_c'
];
print_r($a + $b);
print_r(array_merge($a, $b));
结果输出:
Array
(
[0] => a_0
[2] => a_2
[3] => a_3
[c] => a_c
[1] => b_1
[4] => b_4
)
Array
(
[0] => a_0
[1] => a_2
[2] => a_3
[c] => b_c
[3] => b_1
[4] => b_3
[5] => b_4
)
结果说明:
对于两个数组的加法
- 数组索引不会被改变
- 如果有相同索引的情况,以首次出现的数组的索引值为准,不会被覆盖
对于array_merge
- 数字类型的键对应的数据,键会被重新排序,如果有相同数字索引的,则数据都会被保留
- 如果是字符串类型的键,如果有相同的索引,则后保留最后的索引对应的值,也就是前面数组索引对应的值会被覆盖
转载请注明:MitNick » php两个数组相加和array_merge的简单说明