rand
(PHP 4, PHP 5, PHP 7, PHP 8)
Generate a random integer
Description
If called without the optional min, max arguments rand() returns a pseudo-random integer between 0 and getrandmax(). If you want a random number between 5 and 15 (inclusive), for example, use rand(5, 15).
Cryptographically-insecure Mt19937-global-state
Prior to PHP 7.1.0, getrandmax() was only 32767 on some platforms (such as Windows). If you require a range larger than 32767, specifying min and max will allow you to create a range larger than this, or consider using mt_rand() instead.
As of PHP 7.1.0, rand() uses the same random number generator as mt_rand(). To preserve backwards compatibility rand() allows max to be smaller than min as opposed to returning false as mt_rand().
Parameters
minThe lowest value to return (default: 0)
maxThe highest value to return (default:
getrandmax())
Return Values
A pseudo random value between min (or 0) and max (or getrandmax(), inclusive).
Changelog
| Version | Description |
|---|---|
| 7.2.0 | rand()has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines. |
| 7.1.0 | rand()has been made an alias of mt_rand(). |
Examples
rand() example
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>The above example will output something similar to:
7771
22264
11Notes
minmax range must be within the range getrandmax(). i.e. abs(max - min) <= getrandmax(). Otherwise, rand() may return poor-quality random numbers.