random_int
(PHP 7, PHP 8)
random_int — Generates cryptographically secure pseudo-random integers
Description
$min
, int $max
): intGenerates cryptographic random integers that are suitable for use where unbiased results are critical, such as when shuffling a deck of cards for a poker game.
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 an Exception 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 range
min
to max
, inclusive.
Errors/Exceptions
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:
int(248) int(-898)
See Also
- random_bytes() - Generates cryptographically secure pseudo-random bytes