【发布时间】:2015-12-19 05:14:43
【问题描述】:
我正在尝试找出array_replace() 和array_merge() 之间的区别。这个问题实际上是在这篇文章之后出现在我的脑海中的:PHP array_merge empty values always less prioritar,这个问题实际上可以通过这两个函数中的任何一个来解决。所以,我试图找出在哪些情况下我们应该使用 array_replace 而不是 array_merge,反之亦然。
在阅读了这两个函数的 php 文档后,我发现了这两个区别:
- 如果数组包含数字键,后面的值不会覆盖
array_merge()中的原始值,这将在array_replace()中完成。 - 在
array_merge()中,带有数字键的输入数组中的值将使用从结果数组中的零开始递增的键重新编号,array_replace()不应该发生这种情况。
由于差异仅与数字键有关,我们可以肯定地说,当我们处理关联数组时,函数array_replace() 和array_merge() 是完全等价的吗?还是我缺少其他任何区别?
【问题讨论】:
-
@zpr 试试什么?如果您看到提到的问题和答案,则该解决方案适用于这两种功能。但我只是想知道,是否还有其他情况,这两个函数不会为关联数组提供相同的结果。