哪个是更快的array_merge或array_splice来合并数组?

哪个是更快的array_merge或array_splice来合并数组?
(使用array_splice替换第二个数组没有 合并的效果)</ p>

array_splice看起来可能使用较少的数组复制,因此它可能更快。 有没有关于这一点的研究?</ p>

例如</ p>

  array_splice($ a1,count($ a1),0,$ a2)  ; 
$ a1 = array_merge($ a1,$ a2);

</ code> </ pre>
</ div>

展开原文

原文

Which is faster array_merge or array_splice to merge arrays? (using array_splice to replace nothing with the 2nd array which has the effect of merging)

array_splice looks like it might use less array copying and as a result it might be faster. Is there any research on this point?

e.g.

array_splice($a1, count($a1), 0, $a2);
$a1 = array_merge($a1, $a2); 

php
dsk61780
dsk61780 当时很悲哀地发现这个问题与-3,这正是我刚刚去了谷歌自己出于好奇。
接近 3 年之前 回复
doufeng9567
doufeng9567 恩,那就对了。拼接而不删除任何东西会产生合并的效果。对此问题缺乏明确性表示歉意。我会编辑以明确这一点。(即使它是一个微优化问题,-4的评级似乎有点无根据)
3 年多之前 回复
douzheng5717
douzheng5717 一年你是对的,我认为OP应该忽略它,它只是微优化。
3 年多之前 回复
dongsan6889
dongsan6889 我假设他正在使用array_splice()而不删除任何东西,只是在最后拼接新数组。
3 年多之前 回复
douben8492
douben8492 如何针对您的用例进行基准测试?|?!
3 年多之前 回复
douyou2732
douyou2732 2个功能不一样。一个合并阵列其他拼接!那你想知道什么?
3 年多之前 回复

1个回答



array_merge </ code>必须检查输入数组是否有数字键或命名键,因此它知道是否要追加或 合并。 array_splice </ code>不需要进行此检查。</ p>
</ div>

展开原文

原文

array_merge has to check whether the input array has numeric or named keys, so it knows whether to append or merge. array_splice doesn't need to do this check.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问