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

 



PHP rand()和mt_rand()的区别_浮点数

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()的区别_浮点数


非学,无以致疑;非问,无以广识