rand

Generate a random integer

&reftitle.description; `int` `rand` `int` `rand` `int` `min` `int` `max`

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)`.

&caution.cryptographically-insecure;

On some platforms (such as Windows), `getrandmax` is only 32767. 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`.

&reftitle.parameters;

`min`

- The lowest value to return (default: 0)

`max`

- The highest value to return (default: `getrandmax`)

&reftitle.returnvalues;

A pseudo random value between `min` (or 0) and `max` (or `getrandmax`, inclusive).

&reftitle.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`.

&reftitle.examples;

### `rand` example

    <?php
    echo rand(), "\n";
    echo rand(), "\n";

    echo rand(5, 15), "\n";
    ?>

&example.outputs.similar;

    7771
    22264
    11

&reftitle.notes;

`min` `max` range must be within the range `getrandmax`. i.e. (`max` - `min`) <= `getrandmax` Otherwise, `rand` may return poor-quality random numbers.

&reftitle.seealso;

- `srand`
- `getrandmax`
- `mt_rand`
- `random_int`
- `random_bytes`