Detailed explanation of how to get random numbers and letters in PHP_PHP Tutorial

WBOY
Release: 2016-07-21 15:08:35
Original
909 people have browsed it

The first method

Copy the code The code is as follows:

$FileID=date("Ymd-His") . '-' . rand(100,999);
//$FileID is a random number like 20100903-132121-908
?>

The second method
Copy the code The code is as follows:

< ?php
function randomkeys($length) {
$returnStr='';
$pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';
for($i = 0; $i < $length; $i ++) {
$returnStr .= $pattern {mt_rand (0, 61)}; //Generate php random numbers
}
return $returnStr;
}
echo randomkeys(4 :

//seed User-defined function uses microseconds as seedfunction seed()
{
list($msec, $sec) = explode(' ', microtime());
return (float) $sec;}//Sow the random number generator seed, and use the srand function to call the return result of the seed function srand(seed());//Output the generated random number, the range of random number is 10-100
echo rand(10,100);
?>


Isn’t the above one different from the one below? They both randomly output numbers between 10 and 100. For newbies, the question may be too simple haha



Copy code

The code is as follows:


echo rand(10,100);
?>
mt_rand(10,100);
srand is the seed. If not set, the default is 1rand is generally a fixed operation that uses seeds as parameters.
You will know after trying it. Do not set a seed or set a fixed one. To seed, run rand
, then close the browser and reopen it, and run rand
again. You will find that the result is always the same
Let’s talk about the rand() function first, rand([int min], [ int max])
This function takes a random number between min and max. If the maximum and minimum range of random numbers are not specified, this function will automatically pick a random number from 0 to RAND_MAX.
But if you only use the rand() function, the random number will be very disordered. It is best to use the srand() function every time before taking the random number to configure a new random number seed.
Explain the following usage (this is how these two functions are generally used):

srand((double)microtime()*1000000);
$rand_number = rand();

microtime() returns two values: the current millisecond and the timestamp. If we want to extract a random number, we can only take a random number from the millisecond. (double)microtime() only Returns the current millisecond value.
Microtime() is the number of milliseconds in seconds, so the values ​​are all decimals. Multiply by 1000000 to convert them to integers



Their workflow is as follows:
(1): First, provide a "seed" to srand();, which is a value of type unsigned_int. (2):_Then, call rand(), which will return a random number based on the value provided to srand() (range between 0~32767)
(3): As many times as needed Call rand() to continuously get new random numbers.
(4): A new "seed" can be provided to srand() at any time, thereby further "randomizing" the
output results of rand().

http://www.bkjia.com/PHPjc/327441.html
www.bkjia.com

true

http: //www.bkjia.com/PHPjc/327441.html

TechArticle

The first method is to copy the code as follows: ?php $FileID=date("Ymd-His") . ' -' . rand(100,999); //$FileID is a random number like 20100903-132121-908? The second method is to copy the code...

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template