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 相关文章推荐
用来给图片加水印的PHP类
Apr 09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
PHP 上传文件大小限制
Jul 05 PHP
php foreach 使用&(与运算符)引用赋值要注意的问题
Feb 16 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
刷新PHP缓冲区为你的站点加速
Oct 10 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
PHP+JS三级菜单联动菜单实现方法
Feb 24 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 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与Java进行通信的实现方法
2013/10/21 PHP
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
深度解读vue-resize的具体用法
2020/07/08 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
python 自动重连wifi windows的方法
2018/12/18 Python
Python turtle库的画笔控制说明
2020/06/28 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
高级方案规划工程师岗位职责
2013/11/29 职场文书
注塑工厂厂长岗位职责
2013/12/02 职场文书
公司授权委托书范文
2014/09/21 职场文书
助学贷款贫困证明
2014/09/23 职场文书
公司员工安全协议书
2014/11/21 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL
基于Python实现将列表数据生成折线图
2022/03/23 Python
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript