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 DOS攻击实现代码(附如何防范)
May 29 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
Jun 25 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
destoon各类调用汇总
Jun 20 PHP
destoon实现调用热门关键字的方法
Jul 15 PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 PHP
简单谈谈php中ob_flush和flush的区别
Nov 27 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
php类的自动加载操作实例详解
Sep 28 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
php实现图片压缩处理
Sep 09 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
JavaScript delete操作符应用实例
2009/01/13 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
JavaScript中访问节点对象的方法有哪些如何使用
2013/09/24 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
Python遍历某目录下的所有文件夹与文件路径
2018/03/15 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
优纳科技软件测试面试题
2012/05/15 面试题
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
学生检讨书怎么写
2014/10/09 职场文书
初中成绩单评语
2014/12/29 职场文书
承兑汇票延期证明
2015/06/23 职场文书
患者身份识别制度
2015/08/06 职场文书
学生安全责任协议书
2016/03/22 职场文书
SQL Server使用导出向导功能
2022/04/08 SQL Server