【发布时间】:2012-05-22 19:46:53
【问题描述】:
我一直在用它来给一个随机的 12 个字符的字符串分配性别:
// lost-in-code.com/programming/php-code/php-random-string-with-numbers-and-letters
$ch = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@$%^&(){}[]+=-_/?|*#";
$sc = "";
for ($p = 0; $p < 12; $p++) {
$sc .= $ch[mt_rand(0,82)]; // 83 is the strlen of characters
}
事实证明,它实际上可以在字符串中包含一个空格。这是没有预料到的!
为什么会这样?是否将下划线视为空格?它一直在导致随机(直到现在,无法追踪)错误。
谢谢。
【问题讨论】:
-
$ch不是数组,$ch中不包含空格。嗯... -
@ShivanRaptor
$string[3]映射到字符串中的特定字符。 -
刚刚测试了上面的代码。没有空格。
-
我运行了 10k 次。没有空格(` `)!
-
我认为您应该显示显示空格的完整代码
标签: php string random generator