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编程语言开发动态WAP页面
Oct 09 PHP
默默简单的写了一个模板引擎
Jan 02 PHP
php cout<<的一点看法
Jan 24 PHP
常见的PHP五种设计模式小结
Mar 23 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
Yii2 assets清除缓存的方法
May 16 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
PHP编译安装时常见错误解决办法
2015/05/28 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
vue移动端实现下拉刷新
2018/04/22 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python迭代和迭代器详解
2016/11/10 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
2018/06/14 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
python安装gdal的两种方法
2019/10/29 Python
Python中的整除和取模实例
2020/06/03 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
2020/07/01 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
教师找工作推荐信
2013/11/23 职场文书
大学军训通讯稿
2014/01/13 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
2014年党支部学习材料
2014/05/19 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
招标授权委托书样本
2014/09/23 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python