Tat*_*nen 13
其他人已经为你提供了正确的答案,但这里只是一个单行,只是为了它:
$code = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'), 0, 5);
Run Code Online (Sandbox Code Playgroud)
str_shuffle随机化上面的字符串,然后substr获取该混洗字符串的前5个字母.简单.
如此答案的注释中所述,此函数仅生成仅包含唯一字符的字符串.如果有人希望字符串甚至可以"aaaaa",这里有一个小功能,只允许:
function generate($len) {
return substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyz', $len)), 0, $len);
}
echo generate(5);
Run Code Online (Sandbox Code Playgroud)
str_repeat重复0-9a-z字符串$ len次,所以每个字母对每个位置几乎都有相同的可能性.(阅读评论为什么只有"差不多")