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!