首頁  >  文章  >  後端開發  >  如何在php中產生隨機字串

如何在php中產生隨機字串

autoload
autoload原創
2021-03-17 15:14:454386瀏覽

1.主要利用了兩個函數:

  • chr()

  • mt_rand()

2.語法格式:

    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 字元。

3.利用上述兩個函數,產生隨機字串

<?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);
?>

推薦:php影片教學 php教學

以上是如何在php中產生隨機字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn