Home >Backend Development >PHP Problem >Return a given number of random characters via PHP
In the previous article, we introduced three methods to quickly obtain the operating system type. If you are interested, you can click on the link to read → "How to quickly obtain the operating system type through PHP (3 methods) 》. This time let’s talk about random strings and see how you can use PHP to generate and randomize strings. If you are interested, you can learn about it~
The topic of today’s article is: Using PHP to generate a specified number of random strings Characters, that is, generate a random string of specified length.
Let’s start the text below and share two methods with you through code examples.
Method 1: Use the rand() function
<?php function getRandChar($length) { $str = null; $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"; $max = strlen($strPol) - 1; for ($i = 0; $i < $length; $i++) { $str .= $strPol[rand(0, $max)]; //rand($min,$max)生成介于min和max两个数之间的一个随机整数 } return $str; } echo getRandChar(20); ?>
Analyze the code
Defines a string variable $strPol, which contains all the required characters;
The function of the for loop is to control the length of the random string;
in each loop When, use rand(0, $max)
to randomly generate a number (the range of numbers is 0
~The length of the string $strPol-1
);
Use random numbers as subscripts, take out the specified characters in the string $strPol, and use .=
to splice them together to generate the string
In the above code, call getRandChar(20)
to set the length of the random string to 20, so the output result is:
Continuously refresh, you will find the difference in each output
Let me introduce the rand() function to you.
rand(min,max)
will return a random integer between min
and max
(including boundary values); if these two are omitted parameters, returns a pseudo-random integer between 0 and RAND_MAX.
Method 2: substr() str_shuffle() mt_rand() function
<?php function getRandChar($length) { $strPol = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm"; $max = strlen($strPol) - $length-1; $str = substr(str_shuffle($strPol), mt_rand(0, $max), $length); return $str; } echo getRandChar(30); ?>
Analysis code:
defines a String variable $strPol
, which contains all the required characters;
Use str_shuffle($strPol)
to scramble the string, use mt_rand(0, $max)
Randomly generate a number (the range of the number is 0
~The length of the string $strPol-$length-1
);
Use the substr()
function to intercept the scrambled string starting with a random number, and return a substring of $length
length, This substring is the random string to be returned.
In the above code, call getRandChar(15)
to set the length of the random string to 15, so the output result is:
Continuously refresh, you will find the difference in the output each time
Okay, that’s it for now. If you want to know more, you can click this oh. → →php video tutorial
Finally, I recommend reading a classic course "PHP String Processing (Jade Girl Heart Sutra Edition)", it's free~ come and learn !
The above is the detailed content of Return a given number of random characters via PHP. For more information, please follow other related articles on the PHP Chinese website!