【发布时间】:2017-12-09 04:24:19
【问题描述】:
我正在尝试用 5 个字母/数字在 PHP 中创建一些随机字符串。 它工作正常,但有时我得到一个较短的字符串。
$characterset='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
$count=0;
$lenght=strlen($characterset);
$i=5; #number of characters
while($count < $i){
$num=rand(1,$lenght);
$letter=substr($characterset, $num, 1);
$string.=$letter;
$count++;
}
而strlen($string)有时是4(查了100条记录,85是4个字符)
【问题讨论】:
-
无论如何,为什么它只是有时不正确? 99% 的记录都很好
-
因为
substr静默返回false,如果您尝试从字符串结尾以外的位置获取字符... -
试试this。
-
您可能想通过在循环外声明
$string = '';'来修复Notice: Undefined variable: string。.=运算符只能在预初始化变量上正常工作
标签: php