Home  >  Article  >  Backend Development  >  Return a given number of random characters via PHP

Return a given number of random characters via PHP

青灯夜游
青灯夜游Original
2021-08-27 17:57:232097browse

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:

Return a given number of random characters via PHP

Continuously refresh, you will find the difference in each output

Return a given number of random characters via PHP

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:

Return a given number of random characters via PHP

Continuously refresh, you will find the difference in the output each time

Return a given number of random characters via PHP

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!

Statement:
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