PHP random_int() Function
The PHP random_int() function generates cryptographically secure pseudo-random integers. This is 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.
Syntax
random_int(min, max)
Parameters
min |
Required. Specify the lowest value to be returned, which must be PHP_INT_MIN or higher. |
max |
Required. Specify the highest value to be returned, which must be less than or equal to PHP_INT_MAX. |
Return Value
Returns a cryptographically secure random integer in the range min to max, inclusive.
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 than min, an Error will be thrown.
Example: random_int() example
The example below shows the usage of random_int() function.
<?php //generating cryptographically //secure pseudo-random integers //in the specified range var_dump(random_int(1, 10000)); var_dump(random_int(-10000, 0)); var_dump(random_int(100, 1000)); ?>
The output of the above code will be similar to:
int(1204) int(-4536) int(470)
❮ PHP CSPRNG Reference