Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по random на php

Огурчик Огуревич Ученик (109), на голосовании 3 года назад
И так, вопрос: Есть число к примеру 6, есть рандом от 1 до 6, как сделать так, чтобы рандом никогда не перечислял ту цифру, которая будет указана (я про 6)
Голосование за лучший ответ
Татьяна Шеховцова Высший разум (521075) 3 года назад
Сделать от 1 до 5
Огурчик ОгуревичУченик (109) 3 года назад
Такой вариант не устраивает, может что-то получше ?
Татьяна Шеховцова Высший разум (521075) Огурчик Огуревич, задаче отвечает полностью: 6 никогда не появится, а остальные числа появиться могут Так что именно тебе надо?
Саня Семенов Оракул (60497) 3 года назад
Самый лучший вариант это генерить рандом на большом промежутке, сравнивать результат с тем числом которое не должно появляется и если совпало генерить по новой потом опять сравнивать и так далее до тех пор пока не выпадет число не равное 6
Если исключений много то можно проверять через! in_array()
Сосиска в тесте Мыслитель (5514) 3 года назад
$rand = rand(1, 6);

$new_rand = array();
foreach($rand as $r) {
if($r == 6) continue;
$new_rand[] = $r;
}

echp $new_rand[0];

А если тебе нужно математически исключить цифру 6. array_rand(1,2, 3, 4, 5); То ты её просто не включаешь в случайный набор ))
Похожие вопросы