Maison > Article > développement back-end > Renvoie un nombre donné de caractères aléatoires via PHP
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,因此输出结果为:
不断刷新,会发现每次输出的不同
下面给大家介绍一下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)
.=
pour les assembler, générez une chaîne
Dans 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 :
Actualisez continuellement, vous constaterez qu'à chaque fois La différence de sortie
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!