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

mt_rand()与rand()的区别

作者: LeeBoot | 来源:发表于2017-03-16 21:58 被阅读0次

rand()和mt_rand()作用都是产生一个随机整数,都有两种使用形式:
1.int rand(void) / int mt_rand(void)
2.int rand(int min, intmax) / int mt_rand(min,max)

对第一种形式:
rand()产生的随机数为0到getrandmax()之间
mt_rand()产生的随机数为0到mt_getrandmax()之间

对第二种形式:
rand()产生从min到max之间的伪随机数
mt_rand()产生从min到max之间的伪随机数
对比:
mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;PHP文档也指出性能上比rand()快4倍,mt_getrandmax()所表示的数值范围也更大

贡献一段三个随机数相加回到初始值代码
<?php
$num = 100;
$a = mt_rand(1,98);
$b = mt_rand(1, $num-$a-1);
$c = $num-$a-$b;
echo $a.' '.$b.' '.$c;
?>

另外加个小东西:

json_decode(stripslashes($comments),true);  //去除反斜杠,导致的json字符串不能转数组的问题

相关文章

网友评论

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

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