То, что я пытаюсь сделать (но с полным смущением), состоит в том, чтобы сделать код на PHP, который выполняет код, основанный на вероятности, которая задается в десятичных числах (10 десятичных знаков max) где 1 будет 100% -ным шансом на выполнение кода. Вот что я пытался, но не работает должным образом:PHP шанс на случай, когда событие произойдет
<?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.
Ааа, конечно! Спасибо, я был довольно глупым> _ <спасибо! :) EDIT: получился один вопрос, хотя, если $ max является десятичным значением? (например, 32.59) mt_rand может возвращать целые числа сами по себе? –
PHP будет в нем, как если бы вы это сделали: '$ max = (int) (1/$ rate);' – greut
Ah Alright thanks :) –