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

青灯夜游
Libérer: 2023-03-12 08:30:02
original
2140 Les gens l'ont consulté

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);
?>
Copier après la connexion

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)会返回 minmax 之间(包括边界值)的随机整数;如果省略这两个参数,则返回 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);
?>
Copier après la connexion

分析代码:

  • 定义了一个字符串变量$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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal