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 URL编码解码函数代码
Mar 10 PHP
PHP加密扩展库Mcrypt安装和实例
Nov 10 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
PHP实现适用于文件内容操作的分页类
Jun 15 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
详解PHP使用Redis存储session时的一个Warning定位
Jul 05 PHP
Ajax+PHP实现的删除数据功能示例
Feb 12 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 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
PDO::quote讲解
2019/01/29 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
一句话JavaScript表单验证代码
2009/08/02 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
详解js的六大数据类型
2016/12/27 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
vue.js评论发布信息可插入QQ表情功能
2017/08/08 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
python for和else语句趣谈
2019/07/02 Python
详解python tkinter模块安装过程
2020/01/06 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
医院辞职信范文
2014/01/17 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
区级文明单位申报材料
2014/05/15 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
关于学习的决心书
2015/02/05 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
班主任培训研修日志
2015/11/13 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
高一作文之乐趣
2019/11/21 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
JS实现数组去重的11种方法总结
2022/04/04 Javascript