Heim  >  Artikel  >  Backend-Entwicklung  >  So generieren Sie eine zufällige Zeichenfolge in PHP

So generieren Sie eine zufällige Zeichenfolge in PHP

autoload
autoloadOriginal
2021-03-17 15:14:454368Durchsuche

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 和 maxmt_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 = &#39;&#39;;

    //随机取:大写、小写、数字
   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

🎜rrreee🎜Empfohlen: 🎜php-Video-Tutorial🎜 🎜php-Tutorial🎜🎜

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn