我想在PHP中创建一个脚本,它将确定我是否以概率失败或成功。例如,90%的时间返回true
(或“成功”),其他10%返回false
或“失败”。基本上,我成功的概率为9/10,而失败则为1/10。
我试图使用rand()
函数来查看数字是否匹配,但其概率太低。如果你们能帮助我获得一个或开始一个,我将不胜感激。谢谢。 :)
答案 0 :(得分:3)
$rand = rand(1,100);
$probability = 90;
$succeed = $rand <= $probability;
答案 1 :(得分:0)
这是非常简化的,但也许这有助于你......
// Array with 9 S's and one F -> 90% change of getting an S.
$a = array('S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'F');
echo $a[array_rand($a)];
答案 2 :(得分:0)
这是另一个基于F.C.答案的版本。
这测试概率为10000次,并提供大约10%的失败率。
<?php
$probability = 90;
$fails = 0;
$succeeds = 0;
for($i = 0; $i < 10000; $i++) {
$rand = rand(1, 100);
if ($rand <= $probability) {
$succeeds++;
}
else {
$fails++;
}
}
echo 'Fail ratio: ' . ($fails / $succeeds) * 100 . ' %';
?>