codetc - 网站开发技术 首页 后端 PHP 查看内容

PHP随机数函数rand()与mt_rand()

2014-12-26 00:52| 发布者: CODETC| 查看: 2880| 评论: 0

PHP中rand()与mt_rand()都是用于产生一个指定范围内单独随机数的函数,如果需要产生多个不重复的随机数,请参考:php生成指定范围内的N个不重复的随机数

既然他们都是用于产生一个随机数,那么他们有什么区别呢?


rand() 函数默认使用 libc 随机数发生器,很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且效率很低;mt_rand() 则是用了 Mersenne Twister 中已知的特性作为随机数发生器,它产生随机数值的平均速度比 libc 提供的 rand() 快四倍。所以在PHP中mt_rand()函数是非正式用来替换rand()的。


语法:
rand(min,max)
mt_rand(min,max)


min,max 皆为可选,规定随机数产生的范围。


如果没有提供可选参数 min 和 max,则返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 1 到 100(包括 1 和 100)之间的随机数,用 rand(1, 100) 或 mt_rand(1,100)。


注: 自 PHP 4.2.0 起,PHP产生随机数都不再需要用 srand() 或 mt_srand() 函数产生随机种子,已经会自动完成。

文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-105-1.html

最新评论

 作为游客发表评论,请输入您的昵称

返回顶部