我的rand(0,1)
php函数在我调用它时会随机返回0
和1
。
我可以在php中定义一些内容,以便随机调用时30%
数字为0
,而70%
数字为1
吗? php是否为此具有任何内置函数?
最佳答案
当然。
$rand = (float)rand()/(float)getrandmax();
if ($rand < 0.3)
$result = 0;
else
$result = 1;
您也可以处理任意结果和权重。
$weights = array(0 => 0.3, 1 => 0.2, 2 => 0.5);
$rand = (float)rand()/(float)getrandmax();
foreach ($weights as $value => $weight) {
if ($rand < $weight) {
$result = $value;
break;
}
$rand -= $weight;
}
关于php - 定义随机数的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20790139/