PHP rand()和mt_rand()的区别

 

rand()和mt_rand()作用都是产生一个随机整数,都有两种使用形式:

 

1.int rand(void) / int mt_rand(void)

 

2.int rand(int $min, int $max) / int mt_rand($min, $max)

 

 

 

对第一种形式:

 

     rand()产生的随机数为0到getrandmax()之间

 

     mt_rand()产生的随机数为0到mt_getrandmax()之间

 

 

 

对第二种形式:

 

     rand()产生从$min到$max之间的随机数

 

     mt_rand()产生从$min到$max之间的随机数    

 

 

 

对比:

 

     mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;而且性能上比rand()快4倍,mt_getrandmax()所表示的数值范围也更大

 

 

 

 

 

PS.随机浮点数的生成

 

     在PHP手册里有一个demo

 

 

复制代码
1 function randomFloat($min = 0, $max = 1) {
2     return $min + mt_rand() / mt_getrandmax() * ($max - $min);
3 }
4 
5 var_dump(randomFloat());
6 var_dump(randomFloat(2, 20));
复制代码

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/fengshaocom/p/9992277.html