我知道這個問題是非常普遍的,但我問以下(谷歌沒有收到任何結果,與我類似的另一個問題有不正確的來源:s):生成6char UP/DOWN字符串的最佳方法是什麼? PHP
什麼是最好的方法得到一個隨機的6個字符不同的字母串,例如'aWGuPk'/'pZyTFu'或者某種類型的東西(在PHP中)? 「最好」的代碼是最短的,最有效的?
對不起,如果這可能是我找不到的東西的重複。
感謝, 卡蘭
我知道這個問題是非常普遍的,但我問以下(谷歌沒有收到任何結果,與我類似的另一個問題有不正確的來源:s):生成6char UP/DOWN字符串的最佳方法是什麼? PHP
什麼是最好的方法得到一個隨機的6個字符不同的字母串,例如'aWGuPk'/'pZyTFu'或者某種類型的東西(在PHP中)? 「最好」的代碼是最短的,最有效的?
對不起,如果這可能是我找不到的東西的重複。
感謝, 卡蘭
這是我使用的功能(我必須剪切和粘貼該從什麼地方在互聯網上,不記得在哪裏!): -
function createRandomString($len=10) {
$chars = "abcdefghijkmnopqrstuvwxyz023456789";
srand((double)microtime()*1000000);
$i = 0;
$pass = '' ;
while ($i <= $len) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
用法: -
$myStr = createRandomString(6);
添加以大寫字符爲$字符,如果你想大小寫混合
個人而言,我創建的容許字符的數組,並使用array_rand
將它們附加到字符串所需的次數:
// str_split requires PHP5
$chars = str_split('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
for ($i = 0, $str = ''; $i < 6; ++$i) {
$str .= $chars[array_rand($chars)];
}
順便提及,生成隨機字符串時,將被顯示給用戶,我往往會從字符列表中刪除元音,以避免意外產生冒犯性的詞語。
也許這個網頁可以幫助你:http://www.laughing-buddha.net/php/lib/password –
謝謝! :)無法在Google上找到該鏈接:S – Karan
沒問題...很高興我能幫上忙。 –