Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
$arr = ['test' => 50, 'tost' => 10, 'tost1' => 40];
function chance($arr) { $total = array_sum($arr); $rand = rand(1, $total); foreach($arr as $key => $prob) { $rand -= $prob; if ($rand <= 0) { return $key; } } } print chance(array('test' => 50, 'tost' => 10, 'tost1' => 40));
$arr = ['test' => 50, 'tost' => 10, 'tost1' => 40]; // сумма должна быть 100 sort($arr); $n = rand(0, 100); // ну или тут использовать array_sum($arr) $sum = 0; foreach ($arr as $i => $r) { $sum += $r; if ($sum >= $n) { echo $i; break; } }