Generates cryptographically secure pseudo-random integers (original) (raw)
random_int
(PHP 7)
random_int — Generates cryptographically secure pseudo-random integers
Description
random_int ( int $min
, int $max
) : int
The sources of randomness used for this function are as follows:
- On Windows,» CryptGenRandom() will always be used. As of PHP 7.2.0, the» CNG-API will always be used instead.
- On Linux, the» getrandom(2) syscall will be used if available.
- On other platforms, /dev/urandom will be used.
- If none of the aforementioned sources are available, then anException will be thrown.
Note: Although this function was added to PHP in PHP 7.0, a» userland implementation is available for PHP 5.2 to 5.6, inclusive.
Parameters
min
The lowest value to be returned, which must be**PHP_INT_MIN
** or higher.
max
The highest value to be returned, which must be less than or equal to**PHP_INT_MAX
**.
Return Values
Returns a cryptographically secure random integer in the rangemin
to max
, inclusive.
Errors/Exceptions
- If an appropriate source of randomness cannot be found, an Exception will be thrown.
- If invalid parameters are given, a TypeError will be thrown.
- If
max
is less thanmin
, anError will be thrown.
Examples
Example #1 random_int() example
<?php var_dump(random_int(100, 999)); var_dump(random_int(-1000, 0)); ?>
The above example will output something similar to:
See Also
- random_bytes() - Generates cryptographically secure pseudo-random bytes