php随机数(PHP随机数量)
php随机数生成的函数是?
php提供的随机数函数rand(),rand()函数将返回随机整数,具体使用方法如下:rand(min,max)
可选参数min和max可以使rand() 返回0到rand_max之间的伪随机整数,例如,想要5到15(包括 5 和 15)之间的随机数,用 rand(5, 15)
php 指定随机数
方法1:
$a=array(1,2,3,4,5,6); //指定数组
$b=array_rand($a,3); //取得数组$a中三个随机的键值。
echo $a[$b[0]]."、".$a[$b[1]]."、".$a[$b[2]]; //可以按自己想要的格式输出
方法2:
$a = array(1,2,3,4,5,6);
shuffle($a); //打乱数组$a
$b=array_slice($a,0,3); //取出数组中前三个值放入$b
print_r($b);
php取随机数概率算法
问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。
又把“1-10”,理解成包括1和10在内其两数之间的小数,
把10-50,理解成10.01到50.00之间的数,不包括10.00。以此类推。
?php
function?genRandom(){
$p=rand(1,100);
if($p=60)?$r=rand(100,1000);
elseif($p60?and?$p=85)?$r=rand(1001,5000);
elseif($p85?and?$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=1?and?$c=10)?$p=0;
elseif($c10?and?$c=50)?$p=1;
elseif($c50?and?$c=100)?$p=2;
elseif($c100?and?$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%