美文网首页
rand()和mt_rand()的区别

rand()和mt_rand()的区别

作者: 简简天天 | 来源:发表于2020-04-04 16:26 被阅读0次

    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之间的伪随机数

    echo mt_rand().PHP_EOL;
    echo getrandmax().PHP_EOL;
    echo rand().PHP_EOL;
    echo mt_getrandmax().PHP_EOL;exit;
    1059401811
    2147483647
    244951961
    2147483647
    
    对比:

    起初:mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;PHP文档也指出性能上比rand()快4倍,mt_getrandmax()所表示的数值范围也更大
    目前:| 7.1.0 | rand() has been made an alias of mt_rand(). |

    结论:

    直接使用mt_rand即可

    相关文章

      网友评论

          本文标题:rand()和mt_rand()的区别

          本文链接:https://www.haomeiwen.com/subject/znodphtx.html