一尘不染

Array_merge与+

php

当我使用array_merge()关联数组时,我得到了想要的东西,但是当我将它们与数字键数组一起使用时,键被更改了。

随着+该密钥将被保留,但它不与关联数组。

我不知道这是如何工作的,有人可以向我解释吗?


阅读 220

收藏
2020-05-29

共1个答案

一尘不染

由于两个数组都使用数字索引,因此仅使用第一个数组中的值。

+运算符返回添加到左侧数组的右侧数组; 对于两个数组中都存在的键,将使用左侧数组中的元素,而右侧数组中的匹配元素将被忽略。

http://php.net/manual/zh/language.operators.array.php

array_merge() 行为略有不同:

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个。 但是,如果数组包含数字键,则后面的值将不会覆盖原始值,而是将其附加。
使用数字键的输入数组中的值将使用从结果数组中的零开始的递增键重新编号。

http://php.net/manual/zh/function.array-
merge.php

2020-05-29