在先前的文章中我們介紹了快速取得作業系統類型的三種方法,有興趣的可以點選連結查閱→《怎麼透過PHP快速取得作業系統類型(3種方法) 》。這次我們來聊聊隨機字串,看看利用PHP怎麼可以產生並隨機字串,感興趣的可以學習了解一下~
#今天本文的主題是:利用PHP產生指定個數的隨機字符,即產生指定長度的隨機字串。
下面開始正文,透過程式碼實例來給大家分享兩種方法。
方法一:利用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); ?>
分析程式碼
rand(0, $max)隨機產生一個數字(數字的範圍在
0~
字串$strPol的長度-1);
.=拼接在一起,產生字串
getRandChar(20)設定隨機字串的長度為20,因此輸出結果為:
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)設定隨機字串的長度為15,因此輸出結果為:
PHP字串處理(玉女心經版)》,免費的~快來學習啊!
以上是透過PHP傳回給定個數的隨機字符的詳細內容。更多資訊請關注PHP中文網其他相關文章!