array_merge是否保留顺序?

时间:2019-03-13 13:47:05

标签: php

我必须要数组:

$arr = ["ham", "beef", "testing1"];
$arr1 = ["baby", "chicken", "wax"];

合并它们时,我得到以下结果:

var_dump(array_merge($arr, $arr1));
// ["ham", "beef", "testing1", "baby", "chicken", "wax"]

如您所见,顺序被保留,并被添加到第一个数组的末尾。我可以确定情况总是这样吗?还是不一定要保留顺序?我在the docs中找不到关于结果顺序的任何信息。

1 个答案:

答案 0 :(得分:3)

您可以在documentation中阅读更多内容:

  

将一个或多个数组的元素合并在一起,以便将一个的值附加到前一个的末尾。它返回结果数组。

因此,您可以看到第二个数组的值附加到前一个数组的末尾。

对于重复键,最后一个键将覆盖文档中的前一个键:

  

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个。但是,如果数组包含数字键,则后面的值将不会覆盖原始值,而是将其附加。