PHP中,md5()
、uniqid()
函数可以返回32位和13位不重复的字符串,但是这些字符串都可能包含有数字。如果需要纯字母的字符串,而且长度不定,比如8位,那么直接用这两个函数无法达到效果。
这时可以考虑从ASCII码加mt_rand()
函数的角度考虑,因为A~Z
的ASCII码是65~90,a~z
的ASCII码是97~122,所以程序可以这么写:
// 生成纯字母字符串函数 function rand_string($length = 8) { $randstr = ""; for ($i = 0; $i < (int) $length; $i ++) { $randnum = mt_rand(0, 51); if ($randnum < 26) { $randstr .= chr($randnum + 65); // A-Z之间字符 } else { $randstr .= chr($randnum + 71); // a-z之间字符 } } return $randstr; } // 输出8位长度的纯字母字符串 echo rand_string(8);
默认长度是8位,可以根据需要传入长度。