mt_rand

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

mt_rand -- Generate a better random value

Description

int mt_rand ( [int min, int max] )

Many random number generators of older libcs have dubious or unknown characteristics and are slow. By default, PHP uses the libc random number generator with the rand() function. The mt_rand() function is a drop-in replacement for this. It uses a random number generator with known characteristics using the Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides.

If called without the optional min, max arguments mt_rand() returns a pseudo-random value between 0 and RAND_MAX. If you want a random number between 5 and 15 (inclusive), for example, use mt_rand (5, 15).

Note: As of PHP 4.2.0, there is no need to seed the random number generator with srand() or mt_srand() as this is now done automatically.

Parameters

min

Optional lowest value to be returned (default: 0)

man

Optional highest value to be returned (default: RAND_MAX)

Return Values

A random integer value between min (or 0) and max (or RAND_MAX, inclusive)

ChangeLog

VersionDescription
Since 3.0.7 In versions before 3.0.7 the meaning of max was range. To get the same results in these versions the short example should be rand (5, 11) to get a random number between 5 and 15.

Examples

Example 1. mt_rand() example

<?php
echo mt_rand() . "\n";
echo
mt_rand() . "\n";

echo
mt_rand(5, 15);
?>

The above example will output something similar to:

1604716014
1478613278
6

See Also

mt_srand()
mt_getrandmax()
rand()