Просмотр поста

.
Krite

Функция управляемого рандома

function rundom($percent = 50) {
   return (mt_rand(1, 100) + (100 - (100 - $percent)) > 100 ? 1 : 0);
}

Использовать так:
/*Укажите в функции rundom значение от 0 до 100, например: rundom(75) , функция будет возвращать 0 или 1, если выпадет 1, то сработал диапазон в 75%, если 0 , то 25%*/
if(rundom(20) == 1) {
  echo 'Шанс 20%';
} else {
  echo 'Шанс 80%';
}

Проверить можете на выборке, например в 1млн. так:
$m = 0;$n = 0;
for($i = 0; $i < 1000000; $i++) {
  if(rundom(20) == 1) {
     $n++;
  } else {
    $m++;
  }
}
echo $n . '|' . $m;

При данном условии приблизительно будет 200000/800000 соотношение выпадений.
---
Функция отлично пригодится для игроделов.