(PHP 4, PHP 5, PHP 7, PHP 8)
rand — Generate a random integer
If called without the optional min,
max arguments rand()
returns a pseudo-random integer between 0 and
getrandmax(). If you want a random number
between 5 and 15 (inclusive), for example, use rand(5,
15).
Ця функція не генерує криптографічно безпечні значення, тож не повинна використовуватись для криптографічних цілей чи тих, що вимагають використання непередбачуваних значень.
Якщо потрібна криптографічно безпечна випадковість, можна використати Random\Randomizer разом з рушієм Random\Engine\Secure. Для простих випадків є функції random_int() і random_bytes(), які забезпечують зручний і безпечний API до системного CSPRNG.
Зауваження: Prior to PHP 7.1.0, getrandmax() was only 32767 on some platforms (such as Windows). If you require a range larger than 32767, specifying
minandmaxwill allow you to create a range larger than this, or consider using mt_rand() instead.
Зауваження: As of PHP 7.1.0, rand() uses the same random number generator as mt_rand(). To preserve backwards compatibility rand() allows
maxto be smaller thanminas opposed to returningfalseas mt_rand().
minThe lowest value to return (default: 0)
maxThe highest value to return (default: getrandmax())
A pseudo random value between min
(or 0) and max (or getrandmax(), inclusive).
| Версія | Опис |
|---|---|
| 7.2.0 | rand() has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines. |
| 7.1.0 | rand() has been made an alias of mt_rand(). |
Приклад #1 rand() example
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>Поданий вище приклад виведе щось схоже на:
7771 22264 11
min max range must
be within the range getrandmax(). i.e. (max -
min) <= getrandmax()
Otherwise, rand() may return poor-quality random numbers.