Php выбрать случайное число

PHP rand() Function

Example tip: If you want a random integer between 10 and 100 (inclusive), use rand (10,100).

Tip: As of PHP 7.1, the rand() function has been an alias of the mt_rand() function.

Syntax

Parameter Values

Parameter Description
min Optional. Specifies the lowest number to return. Default is 0
max Optional. Specifies the highest number to return. Default is getrandmax()

Technical Details

Return Value: A random integer between min (or 0) and max (or getrandmax() inclusive)
Return Type: Integer
PHP Version: 4+
PHP Changelog: PHP 7.1: The rand() function is an alias of mt_rand().
PHP 4.2.0: The random number generator is seeded automatically.

❮ PHP Math Reference

Unlock Full Access 50% off

COLOR PICKER

colorpicker

Join our Bootcamp!

Report Error

If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:

Thank You For Helping Us!

Your message has been sent to W3Schools.

Top Tutorials
Top References
Top Examples
Get Certified

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Источник

rand

При вызове без параметров min и max , возвращает псевдослучайное целое в диапазоне от 0 до getrandmax() . Например, если вам нужно случайное число между 5 и 15 (включительно), вызовите rand(5, 15).

Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры min и max , или обратитесь к функции mt_rand() .

Список параметров

Наименьшее значение, которое может быть возвращено (по умолчанию: 0)

Наибольшее значение, которое может быть возвращено (по умолчанию: getrandmax() )

Возвращаемые значения

Псевдослучайное значение в диапазоне от min (или 0) до max (или getrandmax() ).

Примеры

Пример #1 Пример использования rand()

Результатом выполнения данного примера будет что-то подобное:

Примечания

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

Смотрите также

  • srand() — Изменяет начальное число генератора псевдослучайных чисел
  • getrandmax() — Возвращает максимально возможное случайное число
  • mt_rand() — Генерирует случайное значение методом mt
  • openssl_random_pseudo_bytes() — Generate a pseudo-random string of bytes

Источник

rand

При вызове без параметров min и max , возвращает псевдослучайное целое в диапазоне от 0 до getrandmax() . Например, если вам нужно случайное число между 5 и 15 (включительно), вызовите rand(5, 15) .

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

Если требуется криптографически безопасная случайная последовательность, Random\Randomizer может использоваться с движком Random\Engine\Secure . Для простых случаев использования функции random_int() и random_bytes() предоставляют удобный и безопасный API, поддерживаемый CSPRNG операционной системы.

Замечание: На некоторых платформах (таких как Windows) getrandmax() всего лишь 32767. Чтобы расширить диапазон, используйте параметры min и max , или обратитесь к функции mt_rand() .

Замечание: Начиная с PHP 7.1.0, rand() использует тот же алгоритм получения случайных чисел, что и mt_rand() . Для сохранения обратной совместимости, функция rand() позволяет задавать параметр max меньше, чем параметр min . Функция mt_rand() в такой ситуации будет возвращать false

Список параметров

Наименьшее значение, которое может быть возвращено (по умолчанию: 0)

Наибольшее значение, которое может быть возвращено (по умолчанию: getrandmax() )

Возвращаемые значения

Псевдослучайное значение в диапазоне от min (или 0) до max (или getrandmax() ).

Список изменений

Примеры

Пример #1 Пример использования rand()

Результатом выполнения данного примера будет что-то подобное:

Источник

random_int

Создаёт равномерно выбранное целое число между заданными минимумом и максимумом.

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

Источники случайных величин в порядке приоритета:

  • Linux: » getrandom(), /dev/urandom
  • FreeBSD >= 12 (PHP >= 7.3): » getrandom(), /dev/urandom
  • Windows (PHP >= 7.2): » CNG-API Windows: » CryptGenRandom
  • macOS (PHP >= 8.2; >= 8.1.9; >= 8.0.22, если CCRandomGenerateBytes доступен во время компиляции): CCRandomGenerateBytes() macOS (PHP >= 8.1; >= 8.0.2): arc4random_buf(), /dev/urandom
  • NetBSD >= 7 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom
  • OpenBSD >= 5.5 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom
  • DragonflyBSD (PHP >= 8.1): » getrandom(), /dev/urandom
  • Solaris (PHP >= 8.1): » getrandom(), /dev/urandom
  • Любая комбинация операционной системы и версии PHP, не указанная ранее: /dev/urandom
  • Если ни один из источников не доступен или все они не генерируют случайную величину, то будет выброшено исключение Random\RandomException .

Замечание: Эта функция была добавлена в PHP 7.0, а для версий с 5.2 по 5.6 включительно доступна » пользовательская реализация.

Список параметров

Верхняя граница диапазона.

Возвращаемые значения

Криптографически безопасное, равномерно выбранное целое число из замкнутого интервала [ min , max ]. Возможными возвращаемыми значениями являются min и max .

Ошибки

  • Если подходящие источники случайных величин отсутствуют, то выбрасывается исключение Random\RandomException .
  • Если задать max меньше чем min , то будет выброшено исключение класса ValueError .

Список изменений

Версия Описание
8.2.0 В случае возникновения ошибки CSPRNG , функция теперь будет выбрасывать исключение Random\RandomException . Ранее выбрасывалось исключение Exception .

Примеры

Пример #1 Пример использования random_int()

Результатом выполнения данного примера будет что-то подобное:

Смотрите также

  • Random\Randomizer::getInt() — Получает равномерно выбранное целое число
  • random_bytes() — Получает криптографически безопасные случайные байты

User Contributed Notes 3 notes

Here is a simple backporting function, it works for PHP >= 5.1

if (! function_exists ( ‘random_int’ )) function random_int ( $min , $max ) if (! function_exists ( ‘mcrypt_create_iv’ )) trigger_error (
‘mcrypt must be loaded for random_int to work’ ,
E_USER_WARNING
);
return null ;
>

if (! is_int ( $min ) || ! is_int ( $max )) trigger_error ( ‘$min and $max must be integer values’ , E_USER_NOTICE );
$min = (int) $min ;
$max = (int) $max ;
>

if ( $min > $max ) trigger_error ( ‘$max can\’t be lesser than $min’ , E_USER_WARNING );
return null ;
>

$range = $counter = $max — $min ;
$bits = 1 ;

$bytes = (int) max ( ceil ( $bits / 8 ), 1 );
$bitmask = pow ( 2 , $bits ) — 1 ;

if ( $bitmask >= PHP_INT_MAX ) $bitmask = PHP_INT_MAX ;
>

do $result = hexdec (
bin2hex (
mcrypt_create_iv ( $bytes , MCRYPT_DEV_URANDOM )
)
) & $bitmask ;
> while ( $result > $range );

return $result + $min ;
>
>
?>

Randomness test

$max = 100 ; // number of random values
$test = 1000000 ;

$array = array_fill ( 0 , $max , 0 );

for ( $i = 0 ; $i < $test ; ++ $i ) ++ $array [ random_int ( 0 , $max - 1 )];
>

function arrayFormatResult (& $item ) global $test , $max ; // try to avoid this nowdays 😉

$perc = ( $item /( $test / $max ))- 1 ;
$item .= ‘ ‘ . number_format ( $perc , 4 , ‘.’ , » ) . ‘%’ ;
>

array_walk ( $array , ‘arrayFormatResult’ );

Источник

Php выбрать случайное число

315

310

8131

454

7194

18

Источник

Читайте также:  Javascript change value in html
Оцените статью