Heim > Artikel > Backend-Entwicklung > So generieren Sie eine zufällige Zeichenfolge in PHP
1. Verwendet hauptsächlich zwei Funktionen:
chr()
mt_rand()
2 Syntaxformat:
mt_rand()
Verwenden Sie das Mersenne Twister-Algorithmus gibt eine zufällige Ganzzahl zurück. mt_rand()
使用 Mersenne Twister
算法返回随机整数。
mt_rand(min,max)
如果没有提供可选参数 min
和 max
,mt_rand()
返回 0 到 RAND_MAX
之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)
。很多老的 libc
的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand()
函数默认使用 libc
随机数发生器。mt_rand()
函数是非正式用来替换它的。该函数用了 Mersenne Twister
中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc
提供的 rand()
快四倍。
chr()
用一个范围在 range
(256)内的(就是0~255)整数作参数,返回一个对应的字符。
chr(i)
返回值是当前整数对应的 ASCII
<?php function getString($length = 4) { //从ASCII码中获取 $captcha = ''; //随机取:大写、小写、数字 for($i = 0;$i < $length; $i++){ //随机确定是字母还是数字 switch(mt_rand(1,3)){ case 1: //数字:49-57分别代表1-9 $captcha .= chr(mt_rand(49,57)); break; case 2: //小写字母:a-z $captcha .= chr(mt_rand(65,90)); break; case 3: //大写字母:A-Z $captcha .= chr(mt_rand(97,122)); break; } } //返回 return $captcha; } echo getString(5); ?>
Wenn die optionalen Parameter min
und max nicht bereitgestellt werden code>, <code>mt_rand()
gibt eine Pseudozufallszahl zwischen 0 und RAND_MAX
zurück. Wenn Sie beispielsweise eine Zufallszahl zwischen 5 und 15 (einschließlich) wünschen, verwenden Sie mt_rand(5, 15)
. Viele alte libc
-Zufallszahlengeneratoren haben einige unsichere und unbekannte Eigenschaften und sind langsam. Die PHP-Funktion rand()
verwendet standardmäßig den Zufallszahlengenerator libc
. Die Funktion mt_rand()
wird informell verwendet, um sie zu ersetzen. Diese Funktion nutzt die bekannten Funktionen von Mersenne Twister
als Zufallszahlengenerator, der Zufallswerte im Durchschnitt schneller generieren kann als der von libc bereitgestellte <code> rand() code> Viermal schneller.
chr()
verwendet eine Ganzzahl im Bereich von range
(256) (also 0~255) als Parameter und gibt ein entsprechendes Zeichen zurück. rrreeeDer Rückgabewert ist das ASCII
-Zeichen, das der aktuellen Ganzzahl entspricht. 3. Verwenden Sie die beiden oben genannten Funktionen, um zufällige Zeichenfolgen zu generieren
Das obige ist der detaillierte Inhalt vonSo generieren Sie eine zufällige Zeichenfolge in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!