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


Posted in PHP onMarch 25, 2019

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
php heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
PHP 批量删除 sql语句
Jun 05 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
PHP源代码数组统计count分析
Aug 02 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
PHP实现的下载远程图片自定义函数分享
Jan 28 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
PHP 记录访客的浏览信息方法
Jan 29 PHP
php微信扫码支付 php公众号支付
Mar 24 #PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 #PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 #PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 #PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 #PHP
Laravel如何自定义command命令浅析
Mar 23 #PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 #PHP
You might like
PHP 高手之路(三)
2006/10/09 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
javascript Array.sort() 跨浏览器下需要考虑的问题
2009/12/07 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
学习python可以干什么
2019/02/26 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
python怎么判断模块安装完成
2020/06/19 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
聘用意向书
2014/07/29 职场文书
基层党支部整改方案
2014/10/25 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
开学典礼校长致辞
2015/07/29 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python