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中常用编辑器推荐
Jan 02 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
基于php split()函数的用法详解
Jun 05 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
PHP获取数组最大值下标的方法
May 12 PHP
ThinkPHP安装和设置
Jul 27 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
PHP反射实际应用示例
Apr 03 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 PHP
PHP Trait功能与用法实例分析
Jun 03 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
文件上传程序的全部源码
2006/10/09 PHP
PHP多个版本的分析解释
2011/07/21 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
如何让CI框架支持service层
2014/10/29 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
js运动应用实例解析
2015/12/28 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
Python中Class类用法实例分析
2015/11/12 Python
基于python实现百度翻译功能
2019/05/09 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
Python中Qslider控件实操详解
2021/02/20 Python
Python中如何定义一个函数
2016/09/06 面试题
网络教育自我鉴定
2013/11/01 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
会议室管理制度范本
2015/08/06 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技