在PHP中,数组的功能强大到超乎你的想象,而且呢,处理数据过程中经常会遇到数组合并的情况。
数组合并在PHP中有两种方式,一个是通过函数array_merge,另一个就是+(数学符号加),这两种方式都能实现数组的合并,但是效果可能会有一些不同,有时候呢总是傻傻分不清楚,现在记录一下,方便取用。
array_merge官方给出的作用如下:
array_merge()将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
如果参数为空,则返回空array。
下面的实例验证了上面给出的规则
+被称作数组运算符,是两个数组的联合
+运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
使用+解决了被重新索引的问题。
还有一个相同索引覆盖的问题
array_merge相同键值部分后面数组的值会覆盖前面数组
+相同键值部分前面数组会覆盖后面数组