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实现parent调用父类的构造方法与被覆写的方法

本文实例讲述了php实现parent调用父类的构造方法与被覆写的方法。分享给大家供大家参考。具体分析如下: 覆写:被重新设计。 在子类中定义构造方法时,需要传递参数给父类的构造方法,否则...

php 中奖概率算法实现代码

实现代码: <?php /** *php 中奖概率算法 * */ function get_zj( $jp ,$glname = 'gl'){ $sum = 0...

PHP Cookie学习笔记

PHP Cookie学习笔记

什么是Cookie Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制。简单地说,Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取...

php eval函数用法总结

eval定义和用法 eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号结尾。 如果没有在代码字符串中调用 return 语句,则返回...

laravel 解决后端无法获取到前端Post过来的值问题

laravel 解决后端无法获取到前端Post过来的值问题

效果如下所示: 刚开始一直获取不到前端传过来的Post的值 一番分析后 发现 通过php 命令新建的控制器默认少引用 就是上图圈起来的这个 引入就问题解决了 当然 前提是路由要配置正确...