ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

Полный список функций файловой системы PHP 5

Генерация нового числа каждый раз при выполнении сценария называется случайным числом. Случайное число может использоваться для различных целей в программировании, таких как генерация случайного имени файла, случайного пароля и случайного числа, которое не предсказуемо для других. PHP имеет множество встроенных функций для генерации случайных чисел разными способами. Функции rand(), random_int() и mt_rand() используются в PHP для генерации случайных чисел. В этой статье объясняется, как эти функции используются для генерации случайных чисел.

 

Использование rand()

Эта функция используется для генерации случайного целого числа. Синтаксис этой функции приведен ниже.

Синтаксис:

int rand()

 

или же

int rand(int min, int max)

 

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

 

Пример 1: Различные варианты использования функции rand()

В следующем примере показаны три различных использования функции rand() для генерации случайного числа. Сначала функция rand() вызывается два раза без аргументов, чтобы показать, как по умолчанию генерируются случайные числа. Затем он вызывается два раза с двумя разными минимальным и максимальным значениями. Наконец, он вызывается дважды с помощью побитового оператора.

<?php
// Использование функции rand() без аргумента
echo "<h3> Случайное число с использованием функции rand() без аргумента: </h3>";
echo "<p> Первое случайное число:".rand()."</p>";
echo "<p> Второе случайное число:".rand()."</p>";
// Использование функции rand() с аргументами
echo "<h3> Случайное число с использованием функции rand() путем определения аргументов: </h3>";
echo "<p> Первое случайное число в диапазоне [10-100]:".)."</p>";
echo "<p> Второе случайное число в диапазоне [100-500]:".rand(100, 500)."</p>";
// Использование функции rand() с побитовым оператором
echo "<h3> Случайное число с использованием функции rand() с использованием побитового оператора: </h3>";
echo "Первое случайное число с использованием побитового оператора (&) с 10: ";
echo rand()&10;
echo "<br/> Второе случайное число с использованием побитового оператора (&) с 50: ";
echo rand()&50;
?>

 

Вывод:

Аналогичный результат появится после запуска скрипта с сервера. Первый вывод показывает два разных больших числа. На втором выходе первое случайное число было сгенерировано в диапазоне от 10 до 100, а второе случайное число было сгенерировано в диапазоне от 100 до 500. На третьем выходе первое случайное число было сгенерировано в пределах диапазон от 0 до 10, а второе случайное число было сгенерировано в диапазоне от 0 до 50.

 

Использование random_int()

Эта функция используется для генерации криптографически псевдобезопасного случайного числа. Функция системного вызова getrandom (2) используется в Ubuntu для генерации криптографического случайного числа. Эта функция более безопасна, чем функция rand(), потому что сгенерированное число непредсказуемо. Но random_int() медленнее, чем функция rand(). Синтаксис этой функции приведен ниже.

Синтаксис:

int random_int(int min, int max)

 

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

 

Пример 2: Различные варианты использования функции random_int()

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

<?php

// Устанавливаем положительные минимальные и положительные максимальные значения
echo "<p> Вывод random_int() с положительными минимальными и максимальными значениями: <b>".random_int(1000, 10000)."</b></p>";
// Установка отрицательного минимального и положительного максимального значений
echo "<p> Вывод random_int() с отрицательным минимальным и положительным максимальным значениями: <b>".random_int(-500, 10000)."</b></p>";
// Устанавливаем дробное минимальное и максимальное значения
echo "<p>.random_int(0,67; 54,89)."</b></p>";
?>

 

Вывод:

Следующий аналогичный вывод появится после запуска сценария с сервера.

 

Использование mt_rand()

Эта функция используется для генерации высококачественных псевдослучайных чисел с помощью генератора Mersenne Twister. Работает быстрее, чем функция rand(). Синтаксис этой функции приведен ниже.

Синтаксис:

int mt_rand(int min, int max)

 

Как и функция rand(), она может принимать два аргумента для установки максимального и минимального значений, и эту функцию также можно использовать без каких-либо аргументов. Использование этой функции показано ниже.

 

Пример 3: Различные варианты использования функции mt_rand()

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

<?php
// Использование функции mt_rand() без аргумента
echo "<h3> Сгенерированное случайное число с использованием mt_rand() без аргумента: </h3>";
echo "<p style = 'color: red'>".mt_rand()."</p>";
// Использование функции mt_rand() с аргументами
echo "<h3> Сгенерированное случайное число с помощью mt_rand() путем определения аргументов: </h3>";
echo "<p style='color: red'>".mt_rand(15, 150)."</p>";
?>

 

Вывод:

Следующий аналогичный вывод будет сгенерирован после запуска сценария с сервера. Первый вывод показывает, что было сгенерировано большое целое число, когда в функции mt_rand() не использовался аргумент.

 

Заключение

В этой статье на простых примерах были объяснены три различных способа создания случайного числа в PHP. Лучше использовать функцию random_int(), когда важна безопасность, но лучше использовать функцию mt_rand(), когда требуется быстрее сгенерировать случайное число. Функция rand() может использоваться для генерации простого случайного числа.

Exit mobile version