循环取一个随机数,请教哪种方式更好些
程序员文章站
2022-05-30 11:25:49
...
循环取一个随机数,请问哪种方式更好些?
for循环18次,每次需要随机得到1,2,3,4中的一个数
速度+资源占用,请问哪种方式更好些。
------解决思路----------------------
显然 f1 的效率要高于 f2
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';50000次的平均值
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');
f2
时间: 9 微秒
内存: 768
f1
时间: 8 微秒
内存: 448
显然 f1 的效率要高于 f2
相关文章
相关视频
推荐阅读