php随机数生成 php生成5个1到20随机数
大家好,php随机数生成相信很多的网友都不是很明白,包括php生成5个1到20随机数也是一样,不过没有关系,接下来就来为大家分享关于php随机数生成和php生成5个1到20随机数的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
Php中生成6位随机数并显示
Php中生成6位随机数并显示实现如下:
1、使用shuffle函数生成随机数。
<?php
$arr=range(100000,999999);
shuffle($arr);
foreach($arras$values)
{
echo$values."";//显示随机数
}
?>2、使用array_unique函数生成随机数。
<?php
$arr=array();
while(count($arr)<10)
{
$arr[]=rand(1,10);
$arr=array_unique($arr);
}echoimplode("",$arr);
?>
扩展资料:
PHP生成随机数的两种方法:
1、rand()函数:
//无参数:rand()函数用户获取随机数。
echo rand()."
";//得到一个不定位数的随机数
//带参数:rand($min,$max),$min表示从XX开始取值,$max表示最大只能为XX。
echo rand(5, 15);//在5~15之间取一个数
注意:mt_rand()用法跟rand()类似,但是mt_rand()的执行效率更高。
2、使用array_flip函数生成随机数,可以去掉重复值。
php 生成多个(比如1w个)不重复的12位随机数,请教!
一般来说你一次搞这么多随机数,每次单独随机排重,1w个随机数弄下来效率就不行了,比较随机函数算法还是效率不是很高;
我感觉最简单做法,先弄好12位按顺序生成大数组,第一种就是array_rand
随机取,第二种就是把12打乱,然后用array_slice取1万条;
你这个问题我关注一下,看看其他有没有好办法。
php取随机数概率算法
问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。
又把“1-10”,理解成包括1和10在内其两数之间的小数,
把10-50,理解成10.01到50.00之间的数,不包括10.00。以此类推。
<?php
functiongenRandom(){
$p=rand(1,100);
if($p<=60)$r=rand(100,1000);
elseif($p>60and$p<=85)$r=rand(1001,5000);
elseif($p>85and$p<=95)$r=rand(5001,10000);
else$r=rand(10001,20000);
return$r/100;
}
$a=array();
$total=50000;
for($i=0;$i<$total;$i++){
$c=genRandom();
if($c>=1and$c<=10)$p=0;
elseif($c>10and$c<=50)$p=1;
elseif($c>50and$c<=100)$p=2;
elseif($c>100and$c<=200)$p=3;
else$p=4;
if(!array_key_exists($p,$a))$a[$p]=1;
else$a[$p]++;
}
if(!array_key_exists(4,$a))$a[4]=0;
echo"总样本数".$total.'<br/>';
echo"1-10样本数".$a[0].',占'.($a[0]/$total*100).'%<br/>';
echo">10-50样本数".$a[1].',占'.($a[1]/$total*100).'%<br/>';
echo">50-100样本数".$a[2].',占'.($a[2]/$total*100).'%<br/>';
echo">100-200样本数".$a[3].',占'.($a[3]/$total*100).'%<br/>';
echo"其他样本数".$a[4].',占'.($a[4]/$total*100).'%<br/>';总样本数50000
1-10样本数30052,占60.104%
>10-50样本数12404,占24.808%
>50-100样本数4993,占9.986%
>100-200样本数2551,占5.102%
其他样本数0,占0%
php随机数生成的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php生成5个1到20随机数、php随机数生成的信息别忘了在本站进行查找哦。