rand()和mt_rand()的区别

2020-04-04  本文已影响0人  简简天天

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之间的伪随机数

echo mt_rand().PHP_EOL;
echo getrandmax().PHP_EOL;
echo rand().PHP_EOL;
echo mt_getrandmax().PHP_EOL;exit;
1059401811
2147483647
244951961
2147483647
对比:

起初:mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;PHP文档也指出性能上比rand()快4倍,mt_getrandmax()所表示的数值范围也更大
目前:| 7.1.0 | rand() has been made an alias of mt_rand(). |

结论:

直接使用mt_rand即可

上一篇 下一篇

猜你喜欢

热点阅读