最近在做表格导出的时候,用到了合并数组,所以做一下总结。
参考官方文档 http://php.net/manual/zh/function.array-merge.php。
先说 array_merge这种方式:
文档这样介绍:
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
再说 + 这种方式:
在两个数组中存在相同的键名时,第一个数组中的同键名的元素将会被保留,第二个数组中的元素将会被忽略。
举个栗子��,一目了然:
$a1 = [
0 => 'a',
1 => 'b',
2 => 'c',
'key1' => 'value1',
'key2' => 'value2',
];
$a2 = [
0 => 'e',
1 => 'f',
2 => 'g',
'key1' => 'value3',
'key2' => 'value4',
];
print_r(array_merge($a1, $a2));
print_r($a1 + $a2);
结果如下:
Array
(
[0] => a
[1] => b
[2] => c
[key1] => value3
[key2] => value4
[3] => e
[4] => f
[5] => g
)
Array
(
[0] => a
[1] => b
[2] => c
[key1] => value1
[key2] => value2
)