PHP 注意:未定义的变量:str in


PHP Notice: Undefined variable: str in

我的代码

function rand_string($length) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$size = strlen( $chars );
for( $i = 0; $i < $length; $i++ ) {
$str .= $chars[ rand( 0, $size - 1 ) ]; // this line error 
 }
return $str;
}

错误

PHP 注意:未定义的变量:str in ...在第 5 行

来吧,这很简单:

function rand_string($length) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $size = strlen( $chars );
    $str = "";
    for( $i = 0; $i < $length; $i++ )
        $str .= $chars[ rand( 0, $size - 1 ) ]; // this line now corrected
    return $str;
}

您正在将字符串"添加"到未知变量$str线

 $str .= ....

.= 是字符串连接。长形式将是

$str = $str . "whatEver";

这就是在后台发生的事情,这就是为什么 PHP 给出未定义变量通知的原因。

要摆脱此通知,您只需要在连接变量之前声明变量即可。

function rand_string($length) {
    $str = "";

现在$str已知,可以添加更多字符串。