我知道 PHP 中的 rand 函数会生成随机整数,但是生成随机字符串的最佳方法是:
原始字符串,9 个字符
$string = 'abcdefghi';
示例随机字符串限制为 6 个字符
$string = 'ibfeca';
更新:我发现了大量此类函数,基本上我试图了解每个步骤背后的逻辑。
更新:该函数应根据需要生成任意数量的字符。
如果您回复,请评论部分。
最佳答案
如果要允许字符重复出现,可以使用这个函数:
function randString($length, $charset='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
{
$str = '';
$count = strlen($charset);
while ($length--) {
$str .= $charset[mt_rand(0, $count-1)];
}
return $str;
}
基本算法是生成 <length> 乘以 0 到 <字符数> 之间的随机数 - 我们使用 1 作为索引来从我们的字符中选择一个字符设置并连接这些字符。 0 和 <字符数> - 1 边界表示 $charset
字符串的边界,因为第一个字符使用 $charset[0]
和最后一个 $charset[count($charset) - 1]
.
关于php - 如何使用 PHP 创建随机字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/853813/