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原创论坛
Oct 09 PHP
一个改进的UBB类
Oct 09 PHP
PHP Mysql编程之高级技巧
Aug 27 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
php中curl和file_get_content的区别
May 10 PHP
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
PHP分页类集锦
Nov 18 PHP
thinkphp缓存技术详解
Dec 09 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 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
用PHP实现多级树型菜单
2006/10/09 PHP
cmd下运行php脚本
2008/11/25 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
使用Apache的rewrite
2021/03/09 Servers
event.srcElement+表格应用
2006/08/29 Javascript
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
Python中实现的RC4算法
2015/02/14 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
python实现将内容分行输出
2015/11/05 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
python Django批量导入数据
2016/03/25 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Python实现的删除重复文件或图片功能示例【去重】
2019/04/23 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
《李广射虎》教学反思
2014/04/27 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
内勤岗位职责范本
2015/04/13 职场文书
爱国教育主题班会
2015/08/14 职场文书
《观潮》教学反思
2016/02/17 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js