您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何通過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); ?>
分析代碼
定義了一個字符串變量$strPol,里面包含全部需要的字符;
for循環的作用是控制隨機字符串的長度;
在每次循環時,利用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)
設置隨機字符串的長度為15,因此輸出結果為:
不斷刷新,會發現每次輸出的不同
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何通過PHP返回給定個數的隨機字符”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。