простой вопрос rand()
Вопрос
Мне нужно случайное 4-значное число
прямо сейчас я использую rand(1000,9999), который всегда дает мне 4-значное число, но я исключаю 0000-0999 как возможные результаты.
как заполнить случайное число?
(также это в конечном итоге будет добавлено в строку, нужно ли мне преобразовать int как строку?)
Спасибо
Решение
В языках сценариев, таких как PHP, вам не нужно выполнять приведение типов в 99% случаев.
Заполнение может быть выполнено с помощью
sprintf("%04u", rand(0, 9999));
Пояснения
первый аргумент sprintf
указывает формат
%
остается на второй, третий, четвертый и т. д.аргумент.первый%
заменяется вторым аргументом, второй%
третьим и т. д.0
остается для поведения заполнения с0
Слева.4
остается "Необходимо напечатать не менее 4 символов"u
остается для беззнакового целого числа.
Другие советы
sprintf("%04d", rand(0,9999))
должен делать то, что хочешь
Быстро и грязно...как насчет сделать:
rand(10000,19999)
и возьмем последние четыре цифры:
substr(rand(10000, 19999), 1, 4)
str_pad(mt_rand(0, 9999), 4, '0', STR_PAD_LEFT);
Используйте mt_rand() вместо rand(), это лучше.
Не связан с StackOverflow