PHP随机数函数rand()与mt_rand()的讲解

yipeiwu_com6年前PHP代码库

PHP中rand()与mt_rand()都是用于产生一个指定范围内单独随机数的函数


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

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() 函数产生随机种子,已经会自动完成。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家的支持。

相关文章

PHP调用Twitter的RSS的实现代码

PHP调用Twitter的RSS的实现代码

这个栏目最开始调用微博饭否的API来做的,因为众所周知的缘故,饭否无法使用了,后来采用腾讯的滔滔API来实现.2010年1月26日滔滔业务将会开始和QQ空间心情整合,只能考虑放弃。思来想...

PHP中时间加减函数strtotime用法分析

本文实例讲述了PHP中时间加减函数strtotime用法。分享给大家供大家参考,具体如下: 时间加减 <?php //获取本地 提取年份+1 $date=date("Y...

php header 详细使用说明与使用心得第1/2页

不管页面有多少header,它会执行最后一个,不过是有条件的,例如: header('Location://www.jb51.net'); header('Location:http:/...

IP攻击升级,程序改进以对付新的攻击

不过最近几天突然糟糕了起来,有90%的攻击已经没法拦截,请看下图一天的统计: IP攻击及开始时间 攻击次数 地点 备注 125.165.1.42--2010-11-19 02:02:19...

PHP类型约束用法示例

本文实例讲述了PHP类型约束用法。分享给大家供大家参考,具体如下: 在强类型语言中,类型约束是语法上的要求,即定义一个变量的时候,必须指定类型,并以后也只能存储该类型数据; php是弱类...