我想循环变量并在数据库中分配此变量我使用此代码
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$size = strlen( $chars );
for( $i = 0; $i < 10; $i++ ) {
$str = $chars[ rand( 0, $size - 1 ) ];
}
如果我在for循环之外使用$ str,它将只给我1个随机字符 如果我使用它indside for循环它将给我随机10个字符
如何使用此代码生成随机10个字符?
我试图在循环字符串之前定义变量,如此
$ str ='';
但也不适合我..
答案 0 :(得分:4)
每次执行$str = $chars[ rand( 0, $size - 1 ) ];
时,您都替换 $str
的值。要附加或连接,所有生成的字符都使用.
运算符,如:
$str .= $chars[ rand( 0, $size - 1 ) ];
这与执行以下操作相同:
$str = $str . $chars[ rand( 0, $size - 1 ) ];
答案 1 :(得分:2)
添加'。' (点)到'='表示字符串连接 - 它给你10个字符串
$str = '';
for( $i = 0; $i < 10; $i++ ) {
$str .= $chars[ rand( 0, $size - 1 ) ];
}
echo $str;
或
使用[]获取字符数组
for( $i = 0; $i < 10; $i++ ) {
$str[] = $chars[ rand( 0, $size - 1 ) ];
}
print_r($str);
答案 2 :(得分:1)
在php中,您使用.=
:
$str .= $chars[ rand( 0, $size - 1 ) ];