PHP Function Reference

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