Generating a random number in PHP is very simple and like most things, can be done a number of different ways. The old standby is to use the function
rand() to to generate a random integer between the minimum and maximum values that you provide. To generate a number between 1 and 100 you would do this:
At this point,
rand() basically exists for backwards compatibility’s sake. The newer / preferred function to use is
mt_rand() which addresses speed concerns with the former and clocks in at 4 times faster. The “MT” in the name referred to Mersenne Twister which is an alternative random number generator to
libcs. You use this function in the same way:
This is great for generating random integers, but what if you want a random decimal value? There’s actually not a function to do so, but you could easily divide a random number by a larger number or slap a decimal at the beginning of the value to achieve the desired results.
On a side note, as of PHP 4.2.0 you no longer need to concern yourself with seeding the random number generator (hence why it wasn’t mentioned here ;)