【发布时间】:2010-10-25 15:00:54
【问题描述】:
我知道 PHP 中的 rand 函数会生成随机整数,但是生成随机字符串的最佳方法是:
原始字符串,9 个字符
$string = 'abcdefghi';
示例随机字符串限制为 6 个字符
$string = 'ibfeca';
更新:我发现了大量此类函数,基本上我试图了解每个步骤背后的逻辑。
更新:该函数应根据需要生成任意数量的字符。
如果您回复,请评论部分。
【问题讨论】:
-
我不确定你到底想要什么。随机字符串必须包含原始字符串中的字母?每个字符只能使用一次吗?如果您尝试创建比原始字符串更长的随机字符串怎么办?
-
这是一个“写我的代码”的问题吗?关于使用我们可以帮助您学习的随机数,您有什么不明白的地方?看来您的算法比生成任何长度为 x 的随机字符串更具体。
-
@DForck42 - 因为它毕竟不是那么随机。比较:使用符号 [0-9a-f] 生成长度为 32 的随机字符串,并制作例如 md5(time())。在第二种情况下,我可以在几秒钟内猜出“随机”字符串(如果我可以轻松检查这个随机字符串是否是使用过的字符串),而真正的随机字符串需要很长时间。
-
好问题!几乎所有“随机字符串”函数都只输出数字,而不是字符串。直到今天我还没有看到任何单行字符串随机函数