[Previous] [Contents] [Next]


Random Number Generation

PHP provides the function rand( ), which returns values from a generated sequence of pseudo-random numbers. Well-known algorithms generate sequences that appear to have random behavior but aren't truly random. The srand( ) function seeds the algorithm and needs to be called before the first use of the rand( ) function in a script. Otherwise, the function returns the same numbers each time a script is called. The prototypes of the functions are:

void srand(integer seed)
integer rand(  )
integer rand(integer min, integer max)

The srand( ) function is called by passing an integer seed that is usually generated from the current time. When called with no arguments, rand( ) returns a random number between 0 and the value returned by getrandmax( ). When rand( ) is called with two arguments-the min and max values-the returned number is a random number between min and max. Consider this example:

// Generate a seed.
$seed = (float) microtime(  ) * 100000000;

// Seed the pseudo-random number generator
srand($seed);

// Generate some random numbers
print rand();      // between 0 and getmaxrand(  )
print rand(1, 6);  // between 1 and 6 (inclusive)



[Previous] [Contents] [Next]