(PHP 5 >= 5.6.3, PHP 7, PHP 8)

gmp_random_rangeGet a uniformly selected integer


gmp_random_range(GMP|int|string $min, GMP|int|string $max): GMP

Generate a random number. The number will be between min and max.

min and max can both be negative, but min must always be less than max.


This function does not generate cryptographically secure values, and must not be used for cryptographic purposes, or purposes that require returned values to be unguessable.

If cryptographically secure randomness is required, the Random\Randomizer may be used with the Random\Engine\Secure engine. For simple use cases, the random_int() and random_bytes() functions provide a convenient and secure API that is backed by the operating system’s CSPRNG.



A GMP number representing the lower bound for the random number


A GMP number representing the upper bound for the random number

Return Values

Returns a GMP object which contains a uniformly selected integer from the closed interval [min, max]. Both min and max are possible return values.


If max is less than min, a ValueError will be thrown.


Example #1 gmp_random_range() example

= gmp_random_range(0, 100); // random number between 0 and 100
$rand2 = gmp_random_range(-100, -10); // random number between -100 and -10

echo gmp_strval($rand1) . "\n";
gmp_strval($rand2) . "\n";

The above example will output:


add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top