PHP rand()和mt_rand()的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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));

 

 

 

以上是关于PHP rand()和mt_rand()的区别的主要内容,如果未能解决你的问题,请参考以下文章

PHP获取随机数的函数rand()和mt_rand()

php生成随机数mt_rand和rand

mt_rand() 函数

验证码的实现

php制作验证码

php 画图片3