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

yipeiwu_com7年前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判断上传文件类型的解决办法

分享给大家php判断上传文件类型的方法,大家一起学习学习。 /** * 读取文件前几个字节 判断文件类型 * @return String */ function check...

windows下升级PHP到5.3.3的过程及注意事项

windows下升级PHP到5.3.3的过程及注意事项

就升级了本地的开发环境,没有涉及到生产环境.其实从5.3.0升级到5.3.3的过程还算蛮简单的,就是修改自己的程序有点麻烦,遇到了个小问题就是升级后竟然自己的项目无法连接mysql了,原...

PHP7标量类型declare用法实例分析

PHP7标量类型declare用法实例分析

本文实例讲述了PHP7标量类型declare用法。分享给大家供大家参考,具体如下: php7为了提高执行效率,在函数方法中增加了标量类型(布尔、浮点、整型、字符)的申明特性,节省了对数据...

让php处理图片变得简单 基于gb库的图片处理类附实例代码下载

让php处理图片变得简单 基于gb库的图片处理类附实例代码下载

这个类的设计思想借鉴于jQuery,通过连缀方法来操作图片,如: 复制代码 代码如下: $image = new UsaImage(array('filepath'=>'image...

php PDO异常处理详解

异常处理: PHP:默认为直接报错 MYSQL:默认为静默模式,错就错,不报错 PDO:默认为静默模式,错就错,不报错 以前,当PHP碰到错误的时候,会直接报错,错误处理会变得相当麻烦。...