我需要一个 php 函数,它可以生成一个包含数字和 a-z 的 5 个字符长的字符串
我应该检查什么?
最佳答案
其他人已经为您提供了正确的答案,但这里只简单介绍一下:
$code = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'), 0, 5);
str_shuffle
随机化上述字符串,然后 substr
取该随机字符串的前 5 个字母。简单。
如该答案的注释中所述,此函数仅生成仅包含唯一字符的字符串。如果想要字符串甚至可以是 "aaaaa",这里有一个小函数可以做到这一点:
function generate($len) {
return substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyz', $len)), 0, $len);
}
echo generate(5);
str_repeat
将 0-9a-z 字符串重复 $len 次,因此每个字母在每个位置都有一个几乎相同的可能性。 (阅读关于为什么只有“几乎”的评论)
关于php - 生成一个 5 个字符长的字符串 0-9 a-z,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992978/