Частота PHP для случая возникновения события

То, что я пытаюсь сделать (но с полным недоумением), заключается в том, чтобы сделать код на PHP, который выполняет код, основанный на вероятности, которая задана в десятичных числах (10 десятичных значений max), где 1 будет 100% -ным шансом для кода для выполнения. Вот что я пробовал, но не работает должным образом:

<?php /* Rate to chance. */ //max 10 decimals $rate = '0.010000000000'; //<-- should equal 1% chance $chance = $rate*pow(10,10); $random = mt_rand(0,pow(10,10)); if($random < $chance) { echo "Ok."; //should be shown 1 out of 100 times in this example } ?> 

Почему я хочу сделать эту работу, потому что я хотел бы иметь код, выполненный с вероятностью менее 1% (например, 0,001%). Мой код (выше) не работает, и я, вероятно, делаю что-то довольно глупо и совершенно неправильно, но я надеюсь, что кто-то еще может мне помочь, потому что в настоящее время я совершенно смущен.

Заранее спасибо.

С наилучшими пожеланиями, Skyfe.

pow – это неправильный способ пойти, это 1/rate :

 <?php // 1 chance out of 2, 50% if (mt_rand(0, 1) === 0) { … } // 1 chance out of 101, which is < 1% if (mt_rand(0, 100) === 0) { … } $rate = (double) '0.01'; $max = 1 / $rate; // 100 if (mt_rand(0, $max) === 0) { // chance < $rate }