通常情況下,當我們要生成乙個隨機字串時,總是先建立乙個字元池,然後用乙個迴圈和mt_rand()或rand()生成php隨機數,從字元池中隨機選取字元,最後拼湊出需要的長度。
本文將以兩種方法介紹生成隨機字串的辦法。
第一種辦法是要建立字元池。
而第二種辦法甚至省去了建立字元池的建立。
function randomkeys($length)
-_=+)(*&^%$£!'; //字元池
for($i=0; $i<$length; $i++)
; //生成php隨機數
}return $key;
}echo randomkeys(8);
這個php隨機函式能生成xc*=z~7l這樣的字串,夠隨機!
現在介紹另一種用php生成隨機數的方法:利用chr()函式,省去建立字元池的步驟。
function randomkeys($length)
return $output;
}echo randomkeys(8);
在第二個php隨機函式裡
,先用mt_rand()生成乙個介於33到126之間的php隨機數,然後用chr()函式轉化成字元。檢視ascii碼表就會發現,33到126代表的正是第乙個函式中字元池裡的所有字元。第二個函式和第乙個函式功能相同,而且更簡潔。
PHP生成隨機數
function getrandstr length return randstr number getrandstr 6 echo number function make password length 8 在 chars 中隨機取 length 個陣列元素鍵名 keys array rand ...
php生成隨機密碼
隨機密碼生成 post number 0 數字 0 不啟用 1 啟用 post lowercase 0 小寫字母 post uppercase 0 大寫字母 post punctuation 1 特殊符號 post repeat 0 字元 1重複 0不重複 post length 31 密碼長度 p...
php生成隨機數
生成1 10之間的隨機數,不重複。方法一 用shuffle函式。arr range 1,10 shuffle arr foreach arras values 方法二 用array unique函式.arr array while count arr 10 echoimplode arr 方法三 用...