可证明成功或失败

时间:2013-04-20 16:55:52

标签: php

我想在PHP中创建一个脚本,它将确定我是否以概率失败或成功。例如,90%的时间返回true(或“成功”),其他10%返回false或“失败”。基本上,我成功的概率为9/10,而失败则为1/10。

我试图使用rand()函数来查看数字是否匹配,但其概率太低。如果你们能帮助我获得一个或开始一个,我将不胜感激。谢谢。 :)

3 个答案:

答案 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 . ' %';

?>