Maison  >  Article  >  développement back-end  >  Renvoie un nombre donné de caractères aléatoires via PHP

Renvoie un nombre donné de caractères aléatoires via PHP

青灯夜游
青灯夜游original
2021-08-27 17:57:232125parcourir

Dans l'article précédent, nous avons présenté trois méthodes pour obtenir rapidement le type de système d'exploitation. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour lire → "Comment obtenir rapidement le type de système d'exploitation via PHP (3 méthodes)" . Cette fois, parlons des chaînes aléatoires et voyons comment vous pouvez utiliser PHP pour générer et randomiser des chaînes. Si cela vous intéresse, vous pouvez en apprendre davantage ~

Le sujet de l'article d'aujourd'hui est : utiliser PHP pour générer un nombre spécifié de caractères aléatoires. , c'est-à-dire générer une chaîne aléatoire de longueur spécifiée.

Commençons le texte principal et partageons avec vous deux méthodes à travers des exemples de code.

Méthode 1 : Utilisez la fonction rand()

<?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);
?>

pour analyser le code

  • définit une variable de chaîne $strPol, qui contient tous les caractères requis

  • La fonction de la boucle for est ; pour contrôler les caractères aléatoires La longueur de la chaîne ;

  • Dans chaque boucle, utilisez rand(0, $max) pour générer aléatoirement un nombre (la plage de nombres est 0 code>~<code> La longueur de la chaîne $strPol - 1); rand(0, $max)随机生成一个数字(数字的范围在0~字符串$strPol的长度-1);

  • 将随机数字作为下标,取出字符串$strPol中的指定字符,并使用.=拼接在一起,生成字符串

在上面的代码中,调用getRandChar(20)设置随机字符串的长度为20,因此输出结果为:

Renvoie un nombre donné de caractères aléatoires via PHP

不断刷新,会发现每次输出的不同

Renvoie un nombre donné de caractères aléatoires via PHP

下面给大家介绍一下rand()函数。

rand(min,max)会返回 min 与 max 之间(包括边界值)的随机整数;如果省略这两个参数,则返回 0 到 RAND_MAX 之间的伪随机整数。

方法2:substr()+str_shuffle() + mt_rand()函数

<?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);
?>

分析代码:

  • 定义了一个字符串变量$strPol,里面包含全部需要的字符;

  • 利用str_shuffle($strPol)打乱字符串,利用mt_rand(0, $max)随机生成一个数字(数字的范围在0~字符串$strPol的长度-$length-1);

  • 使用substr()函数以随机数字为开始位置来截取已打乱的字符串,返回$length长度的子串,这个子串就是要返回的随机字符串。

在上面的代码中,调用getRandChar(15)

Renvoie un nombre donné de caractères aléatoires via PHP

utilisez des nombres aléatoires comme indices, supprimez les caractères spécifiés dans la chaîne $strPol et utilisez .= pour les assembler, générez une chaîne

Renvoie un nombre donné de caractères aléatoires via PHPDans le code ci-dessus, appelez getRandChar(20) pour définir la longueur de la chaîne aléatoire sur 20, donc le le résultat de sortie est :

Renvoie un nombre donné de caractères aléatoires via PHPActualisez continuellement, vous constaterez qu'à chaque fois La différence de sortie

Renvoie un nombre donné de caractères aléatoires via PHP Laissez-moi vous présenter la fonction rand().

🎜rand(min,max) renverra un entier aléatoire entre min et max (y compris les valeurs limites si ces deux paramètres sont omis) ; , renvoie un entier pseudo-aléatoire compris entre 0 et RAND_MAX. 🎜🎜🎜Méthode 2 : fonction substr()+str_shuffle() + mt_rand() 🎜🎜rrreee🎜Code d'analyse : 🎜🎜🎜🎜 définit une variable de chaîne $strPol, qui contient tous les caractères requis ; 🎜🎜🎜🎜Utilisez str_shuffle($strPol) pour brouiller la chaîne et utilisez mt_rand(0, $max) pour générer aléatoirement un nombre (la plage de nombres est dans 0~La longueur de la chaîne $strPol-$length-1); 🎜🎜🎜🎜Utilisez la fonction substr() pour commencer un nombre aléatoire Intercepte la chaîne brouillée et renvoie une sous-chaîne de longueur $length. Cette sous-chaîne est la chaîne aléatoire à renvoyer. 🎜🎜🎜Dans le code ci-dessus, appelez getRandChar(15) pour définir la longueur de la chaîne aléatoire sur 15, donc le résultat de sortie est : 🎜🎜🎜🎜🎜Actualisez en continu, vous constatera que chaque La différence de sortie 🎜🎜🎜🎜🎜C'est tout Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜 Enfin, je recommande de lire un cours classique "🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜", c'est gratuit~ venez apprendre ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn