PHP 7, PHP 8
random_int - Generates cryptographically secure pseudo-random integers

random_int( int$min, int$max ): int

Generates 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.


Although this function was added to PHP in PHP 7.0, a userland implementation is available for PHP 5.2 to 5.6, inclusive.



The lowest value to be returned, which must be PHP_INT_MIN or higher.


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.

Exceptions and Errors

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.

Related Functions

Example of random_int

Show all examples for random_int

PHP Version:

Function random_int:

CSPRNG Functions

Most used PHP functions