Как сгенерировать случайное и уникальное число в PHP

  • Последнее обновление: 3 Апреля 2024 г.
  • Просмотры: 31
  • Автор: Админ
Как сгенерировать случайное и уникальное число в PHP

Коллеги всем привет.

В сегодняшней статье мы поговорим о том как в PHP генерировать набор случайных чисел.

При разработке приложения очень часто приходится сталкиваться с тем что нам нужно сгенерировать уникальное число. Пример тому может быть то что вам нужно выбрать случайные записи из базы данных, или при загрузке файлов на сервер нам нужно сгенерировать уникальное имя файла которое будет содержать имя только из цифр и так далее. При каждом запросе до приложения вашему серверу самостоятельно будет сложно генерировать уникальные числа, и наша задача помочь серверу предоставив уникальное число для дальнейшей его обработки.

В PHP существует очень много разных вариантов как получить уникальное число, и мы сегодня их все рассмотрим.

 

В самом первом варианте мы будем использовать классическую функцию под названием rand. Функция rand принимает всего два параметра min и max, первый параметр это наименьшее число, по умолчанию 0, второй параметр это наибольшее число. Возвращает функция уникальное число между значениями параметров min и max типа int.

php> rand(0, 9000000000);

number generate

Как видим в результате мы вызвали функцию rand три раза, и за эти три раза функция вернула три уникальных числа.


 

Следующим примером мы будем использовать функцию mt_rand. Функция тоже принимает два параметра min и max и возвращает уникальное число между значениями параметров min и max типа int. Функция mt_rand считается улучшенным вариантом функции rand за счет того что mt_rand генерирует случайное число методом простых чисел на базе Вихря Мерсенна.

php> mt_rand(0, 9000000000);

number generate

Как видим в результате мы тоже получили три уникальные числа.


 

Следующим вариантом мы будем использовать функцию random_int. Функция принимает два параметра min и max и возвращает уникальное целое число между значениями параметров min и max типа int.

php> random_int(0, 1024);

number generate

И в этом результате мы получаем три уникальные числа.


 

Последним простым вариантом мы можем использовать функцию time. Функция time возвращает количество секунд с начала эпохи Unix (1 января 1970 00:00:00 GMT) до текущего времени. Функция time идеально подходит, для того чтобы сгенерировать уникальный ID для записи в базу данных.

php> time();

number generate


 

В итоге коллеги мы сегодня разобрали четыре функции с помощью которых мы можем сгенерировать уникальное число, и какую использовать функцию это уже решать вам.

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

 

ПОХОЖИЕ СТАТЬИ

Как получить расширение файла - PHP
Yii2 - как отключить CSRF валидацию токена
Как узнать длину строки в PHP - strlen, mb_strlen
Yii2 как убрать web из адреса URL