@HAtan

Как сгенерировать random, чтобы включало определенные значения?

Есть 1000 билетов(к примеру), мне нужно сгенерировать эту тысячу билетов, при этом поля: серия(рандомно 2 буквы), номер(рандомно 15 цифр), номинал выигрыша(10 по 10, 10 по 20, 5 по 50, 2 по 1000, остальные безвыигрышные) и статус.

function generateSeries($length){
    return substr(str_shuffle('ABCDEFGHIJKLMNPQRSTUVWXYZ'),rand(0,25-$length),$length);
}
function generateNumber(){
    return mt_rand(000000000000000,999999999999999);
}
function generatorTickets($count){
    for ($i = 0; $i <= $count; $i++){
        $series = generateSeries(2);
        $number = generateNumber();
        echo $series.$number.'<br>';
    }
}
generatorTickets(1000);


Но как генерировать номинал выиграша?
И ещё как решить проблему с генерацией номера, должно быть 15 значнный номер все время, неужели 15 рандов с конкотенацией?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
$nominals = [10, 20, 50, 1000];

shuffle($nominals);
$randomNominal = current($nominals);

shuffle($nominals);
$randomNominal = current($nominals);

//...


А по поводу 15-значных чисел - смотрите str_pad
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы