欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

循环取一个随机数,请教哪种方式更好些

程序员文章站 2024-02-08 12:26:28
...
循环取一个随机数,请问哪种方式更好些?
for循环18次,每次需要随机得到1,2,3,4中的一个数

$a = floor(18/4);
$b = '1,2,3,4';
for($i=0;$i $b = $b.',1,2,3,4';
}
$c = explode(',',$b);
for($i=0;$i $xuyao = $c[$i];//第1种方式
$xuyao = rand(1,4);//第二种方式
//后续其它代码
}

速度+资源占用,请问哪种方式更好些。
------解决思路----------------------
include 'check_speed.php';

function f1() {
$a = array(1,2,3,4);
$a = array_merge($a, $a, $a, $a, $a);
shuffle($a);
return join('', array_slice($a, -18));
}
function f2() {
$r = '';
for($i=0; $i return $r;
}
check_speed(50000, 'f2');
check_speed(50000, 'f1');
50000次的平均值
f2
时间: 9 微秒
内存: 768

f1
时间: 8 微秒
内存: 448

显然 f1 的效率要高于 f2
循环取一个随机数,请教哪种方式更好些

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频