php

Генерирайте произволно число в PHP

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

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

Тази функция се използва за генериране на произволно цяло число. Синтаксисът на тази функция е даден по-долу.

Синтаксис:

int rand ()

или

int rand (int min, int max)

Той връща голямо произволно цяло число, ако във функцията не се използва параметър. Ако в тази функция са предоставени две стойности на аргумента, тя ще върне произволно цяло число въз основа на стойностите на аргумента. Използването на тази функция е показано по-долу.

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

Следващият пример показва трите различни приложения на rand () функция за генериране на произволно число. Отначало rand () функция се извиква два пъти без аргумент, за да покаже как случайните числа се генерират по подразбиране. След това се извиква два пъти с две различни минимални и максимални стойности. Най-накрая се извиква два пъти с битовия оператор.

// Използване на функцията rand () без аргумент
ехо "

Случайното число, използващо rand () без аргумент:

";
ехо "

Първото произволно число: ". rand (). "

";
ехо "

Второто произволно число: ". rand (). "

";
// Използване на функцията rand () с аргументи
ехо "

Случайното число, използващо rand () чрез дефиниране на аргументите:

";
ехо "

Първото произволно число в диапазона [10-100]: ". ранд (10 100). "

";
ехо "

Второто произволно число в диапазона [100-500]: ". ранд (100 500). "

";
// Използване на функцията rand () с битов оператор
ехо "

Случайното число, използващо rand (), използващо битов оператор:

";
echo "Първото произволно число, използващо битов оператор (&) с 10:";
echo rand () & 10;
ехо "
Второто произволно число, използващо битов оператор (&) с 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 () функция, плаващите числа се използват като минимални и максимални стойности.

// Задайте положителните минимални и положителните максимални стойности
ехо "

Изходът на random_int () с положителните минимални и максимални стойности: " .random_int (1000, 10000). "

";
// Задайте отрицателните минимални и положителните максимални стойности
ехо "

Изходът на random_int () с отрицателните минимални и положителни максимални стойности: " .random_int (-500, 10000). "

";
// Задаване на дробни минимални и максимални стойности
ехо "

Изходът на random_int () с дробни минимални и максимални стойности: " .random_int (0.67, 54.89). "

";
?>

Изход:
Следният изход ще се появи след стартиране на скрипта от сървъра.

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

Тази функция се използва за генериране на висококачествени псевдослучайни числа с помощта на Mersenne Twister генератор. Работи по-бързо от rand () функция. Синтаксисът на тази функция е даден по-долу.

Синтаксис:

int mt_rand (int min, int max)

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

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

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

// Използване на функцията mt_rand () без аргумент
ехо "

Генерираното произволно число, използващо mt_rand () без аргумент:

";
ехо "

". mt_rand (). "

";
// Използване на функцията mt_rand () с аргументите
ехо "

Генерираното произволно число с помощта на mt_rand () чрез дефиниране на аргументите:

";
ехо "

". mt_rand (15 150). "

";
?>

Изход:
Следният подобен изход ще се генерира след стартиране на скрипта от сървъра. Първият изход показва, че е генерирано голямо цяло число, когато не се използва аргумент в mt_rand () функция. Вторият изход показва, че е генерирано число в диапазона от 15 до 150.

Заключение

Три различни начина за генериране на произволно число в PHP са обяснени в този урок, като се използват прости примери. По-добре е да използвате random_int () функция, когато сигурността е важна, но е по-добре да използвате mt_rand () функция, когато е необходимо да се генерира произволно число по-бързо. rand () функция може да се използва за генериране на просто произволно число.

Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...
Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...