需求:
function genRandomString($len, $t = 0)
{
$chars = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "2", "3", "4", "5", "6", "7", "8", "9");
$chars1 = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
$chars2 = array("1", "2", "0", "3", "4", "5", "6", "7", "8", "9");
$chars3 = array("A", "B", "C", "D", "E", "F", "G", "O", "H", "I", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
if ($t == 1) {
$charsLen = count($chars1) - 1;
shuffle($chars1);
$output = "";
for ($i = 0; $i < $len; $i++) {
$output .= $chars1[mt_rand(0, $charsLen)];
}
}
else if ($t == 2) {
$charsLen = count($chars2) - 1;
shuffle($chars2);
$output = "";
for ($i = 0; $i < $len; $i++) {
$output .= $chars2[mt_rand(0, $charsLen)];
}
}
else if ($t == 3) {
$charsLen = count($chars3) - 1;
shuffle($chars3);
$output = "";
for ($i = 0; $i < $len; $i++) {
$output .= $chars3[mt_rand(0, $charsLen)];
}
}
else {
$charsLen = count($chars) - 1;
shuffle($chars);
$output = "";
for ($i = 0; $i < $len; $i++) {
$output .= $chars[mt_rand(0, $charsLen)];
}
}
return $output;
}
有没有更好的方法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.