我正在努力弄清array_replace()和array_merge()之间的区别。这个问题实际上是在阅读了这篇文章PHP array_merge empty values always less prioritar后产生的,其中任何一个函数都可以解决这个问题。因此,我试图找出应该在什么情况下使用array_replace而不是array_merge,反之亦然。
阅读了两个函数的php文档后,我发现以下两点不同:
1.如果数组包含数字键,则
由于差异仅涉及数字键,我们可以安全地说,在处理关联数组时,函数
阅读了两个函数的php文档后,我发现以下两点不同:
1.如果数组包含数字键,则
array_merge()
中的后续值不会覆盖原始值,而在array_replace()
中将会覆盖原始值。
2.在array_merge()
中,具有数字键的输入数组中的值将在结果数组中以从零开始的递增键重新编号,而这不应该在array_replace()
中发生。由于差异仅涉及数字键,我们可以安全地说,在处理关联数组时,函数
array_replace()
和array_merge()
是完全等效的吗?或者我忽略了其他的差异吗?