【问题标题】:How to improve array merge with for loop?如何使用 for 循环改进数组合并?
【发布时间】:2022-11-02 13:53:52
【问题描述】:

我有一个要求,我从一个游戏的数组中随机创建数字,我有一个 for 循环,它循环 10 次并生成随机数并将其相加。我不确定这是否是一个好的解决方案,如果需要,有人可以建议我进行一些更改吗?

$target = array(1,rand(1,5)); 
for ($i = 0; $i < 10; $i++) 
{ 
   $target = array_merge( $target, array(rand($i,5),rand(1,$i)) ); 
} 
echo '<pre>';
print_r($target);

【问题讨论】:

标签: php arrays


【解决方案1】:

array_pusharray_merge 快得多:

    $target = [1,rand(1,5)];

    for ($i = 0; $i < 10; $i++) 
    {
        array_push($target, rand($i, 5), rand(1, $i));
    } 

如果您只有 10 次迭代,那么您可能看不到差异。例如。 10000 次迭代比较:

array_merge - 0.451275s
array_push - 0.003301s

【讨论】:

    猜你喜欢
    • 2017-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 2019-06-02
    相关资源
    最近更新 更多