PHP rand()和mt_rand()的区别

PHP rand()和mt_rand()的区别

rand()和mt_rand()作用都是产生一个随机整数,都有两种使用形式:
1.int rand(void) / int mt_rand(void)
2.int rand(int $min, int $max) / int mt_rand($min, $max)
 
对第一种形式:
     rand()产生的随机数为0到getrandmax()之间
     mt_rand()产生的随机数为0到mt_getrandmax()之间
 
对第二种形式:
     rand()产生从$min到$max之间的随机数
     mt_rand()产生从$min到$max之间的随机数    
 
对比:
     mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;而且性能上比rand()快4倍,mt_getrandmax()所表示的数值范围也更大
 
 

PS.随机浮点数的生成

     在PHP手册里有一个demo

 

复制代码
1 function randomFloat($min = 0, $max = 1) { 2 return $min + mt_rand() / mt_getrandmax() * ($max - $min); 3 } 4 5 var_dump(randomFloat()); 6 var_dump(randomFloat(2, 20));
复制代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python语音信号处理

    Python语音信号处理个人博客:http://www.chenjianqu.com/原文链接:http://www.chenjianqu.com/show-44.html语言信息是多种信息的混合载体,其中包括内容信息、说话人信息和情感信息。本文介绍了一些语音的基本知识,和使用Python进行处理。时域特征使用wave模块读取wav音频文件,画图时域图像,代码如下。import…

    2022年5月25日
    39
  • 【AekdyCoin】求小于等于N的与N互质的数的和

    【AekdyCoin】求小于等于N的与N互质的数的和又向大牛学到了一点。以下内容转大牛文章:ifgcd(n,i)=1thengcd(n,n-i)=1(1反证法:如果存在K!=1使gcd(n,n-i)=k,那么(n-i)%k==0而n%k=0那么必须保证i%k=0k是n的因子,如果i%k=0那么gcd(n,i)=k,矛盾出现;于是问题变的非常简单ANS=N*phi(N)/2i,n-i总是成对

    2022年7月23日
    10
  • MongoDB安装教程「建议收藏」

    MongoDB安装教程「建议收藏」MongoDB安装教程

    2022年4月25日
    52
  • GIMP教程 4 图层「建议收藏」

    GIMP教程 4 图层「建议收藏」图层可以说是现代制图软件的精髓,也是最根本地区别于纸质制图的地方。GIMP呼出图层窗口的方法也很简单点击【窗口—-可停靠对话框—-图层】或者直接使用快捷键ctrl+L 便可呼出图层窗口剩下的,就跟所有其它制图软件一样了。还有问题可联系作者(QQ616057653)进行交流。…

    2022年6月14日
    32
  • Unity的Lerp插值运算

    Unity的Lerp插值运算floatresult Mathf Lerp floata floatb floattime Vector3res Vector3 Lerp Vector3start Vector3endPo floattime 以上两种方法均为插值运算 第一个是一维插值 第二个是三维插值 其方法含义以第一个方法为例 代表的意义是 result a b

    2025年9月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号