Вопрос

Мне нужно случайное 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(), это лучше.

Вы можете использовать str_pad() или спринтф() чтобы отформатировать строку:

$rand = rand(0, 9999);
$str1 = str_pad($rand, 4, '0', STR_PAD_LEFT);
$str2 = sprintf('%04u', $rand);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top