What is Random Number Generator in PHP?
In this article, we will be learning about a random number generator in PHP. So what is random number generator?
We can generate random numbers or integers using built-in functions. What do these functions do? These functions within a range of min and max generate different sets of numbers. And every time you call this function it will generate a number that is unique. We can generate any numbered digits like 2digit number, 3digit number and so on.
The numbers get shuffled within the range and are generated accordingly. There are various built-in functions to generate random numbers.
Random Number Generator Functions
Now we will be learning about different functions that generate pseudo-random numbers:
- rand() function without range, rand() function with range: This function when called returns a random number. When the min and max are provided to the function, it generates a random number within the range.
- mt_rand() function: This function is similar to rand(). mt in mt_rand() stands for Mersenne Twister. The mt_rand() function is a random number generator and returns an integer value. It generates a pseudo-random number like the rand() function does. It was the first pseudo-random number generator. It is an advanced form of older random number generator. It is fast, efficient and provides high-quality integers.
- getrandmax() function: There are no parameters defined for this function and as the name suggests it returns the largest or maximum possible random number.
- mt_getrandmax() function: It is similar to getrandmax() function and it also returns the largest or maximum possible random number. Here again mt stands for Mersenne Twister which is an algorithm for generating random numbers.
- srand(seed) function: This function seeds the random number generator with the given seed value if not given this function seeds with a random number
- mt_srand(seed): This function is similar to srand() function and this function seeds the random number generator with the given seed value.
We will learn the syntax followed by the examples of each type of function mentioned.
1. rand() Function
Syntax:
rand()
Example:
<?php
// program to generate random integer value
echo '<br>'.'Following are the different random values';
echo '<hr/>';
echo '<br>'. rand();
echo '<hr/>';
echo '<br>'. rand();
echo '<hr/>';
echo '<br>'. rand();
?>
Output:
2. rand() Function within a Given Range
This function provides the range to the rand() function.
Syntax:
rand(min, max);
where min is the optional minimum value and denotes the lowest number value and max is the optional maximum value and denotes the highest numerical value.
Also, min has a default value of zero and max has a default value of getrandmax() function value. The return type of the function is always an integer.
Example:
<?php
// program to generate random integer value
echo 'Following are the different random values within ranges min and max';
echo '<hr/>';
echo '<br> Range : 1 to 100 ----> '. rand(1,100);
echo '<hr/>';
echo '<br> Range 5 to 25 ---->'. rand(5, 25);
echo '<hr/>';
echo '<br>Range 10000 to 50000 --->'. rand(10000, 50000);
?>
Output:
3. mt_rand() Function
Syntax:
int mt_rand(min, max)
where min is optional value and denotes the lowest number and max is optional value and denotes the highest number. The default value of min is 0 and the default value of max is the given highest value. The return type is an integer.
Example:
<?php
// program to generate random integer value
echo 'Following are the different random values using mt_rand()';
echo '<hr/>';
echo '<br> Range : 1 to 100 ----> '. mt_rand(1,100);
echo '<hr/>';
echo '<br> Range 5 to 25 ---->'. mt_rand(5, 25);
echo '<hr/>';
echo '<br>Range 9 to 19 --->'. mt_rand(9, 19);
?>
Output:
4. getrandmax() Function
Syntax:
mt_getrandmax();
This function returns an integer value
Example:
<?php
// program to generate random integer values
//using getrandmax() function
echo 'Random number using getrandmax() function';
echo '<hr/>';
echo(getrandmax());
echo '<hr>';
?>
Output:
5. mt_getrandommax() Function
Syntax:
mt_getrandmax();
This function returns an integer value.
Example:
<?php
// program to generate random integer values
//using mt_getrandmax() function
echo 'random number using mt_getrandmax() function';
echo '<hr/>';
echo(mt_getrandmax());
?>
Output:
6. srand() Function
Syntax:
srand(seed);
Where the seed is an optional value, and this function does not return anything.
Example:
<?php
// program to generate random integer value
echo 'example using srand';
echo '<br>'. srand(3);
echo(rand(1, 5));
echo '<hr>';
echo 'example using srand';
echo '<br>'. srand(2);
echo(rand(1, 5));
?>
Output:
7. mt_srand() Function
Example:
<?php
// program to generate random integer value using mt_srand() function
echo 'example using mt_srand';
echo '<hr>';
mt_srand(5);
echo mt_rand(1,5);
?>
Output:
Generation Integers
In the following example we have used rand(),rand(min,max) and mt_rand().
Code:
<?php
// program to generate random integer value
echo 'Following are the different random values';
echo '<br> Any random number ---->'. rand();
echo '<br> Any random number ---->'. rand();
echo '<hr>';
// random number with range
echo 'Following are the different random values within a range ';
echo '<br> Any random number within the range from 0 to 9----> '. rand(0,9);
echo '<br>Any random number within the range from 1000 to 9999 ---->'. rand(1000,9999);
echo '<hr>';
// random number with range
echo 'Following are the different random values using mt_rand() ';
echo '<br> Using mt_rand()---->'. mt_rand(1000,9999);
echo '<br> Using mt_rand()---->'. mt_rand(100,999);
?>
Output:
Generation Floating-Point Numbers
Floating-point numbers represent a number with decimals that are of the type float. Examples – 10.0, 8.12, 6.23e-5, 2.345, 2.98e+10 and more.
Code:
<?php
function fun($min, $max) {
$square_root = sqrt(4);
return mt_rand($min * $square_root, $max * $square_root) / 100;
}
echo 'Program to display floating point numbers ';
echo '<hr>';
echo "<br>".fun(1, 10, 2);
?>
Output:
Conclusion
In this article, we learned about various functions used to generate a random number in PHP. These functions are explained with sample examples. Hope this article is found useful to anyone who wants to learn a random number generator in PHP.
Recommended Articles
This is a guide to Random Number Generator in PHP. Here we discuss the different functions of random number generator in php along with its examples. You may also look at the following articles to learn more –