问题描述
网页正在返回注意:未初始化的字符串偏移量:-1.....在运行以下函数时的第 175 行:
function genRandomString() {
$length = 26;
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
$string = "";
for ($p = 1; $p < $length; $p++) {
$string .=$characters[mt_rand(0,strlen($characters))-1]; // <-- LINE 175
}
return $string;
}
第 175 行可能有什么问题?
解决方法
您需要从 strlen
中减去,而不是从 mt_rand
中减去:
mt_rand(0,strlen($characters) - 1)
function genRandomString($length = 26) {
$characters = implode('',range(0,9)) . implode('',range('a','z'));
$string = '';
$maxIndex = strlen($characters) - 1;
for ($i = 1; $i < $length; $i++) {
$string .= $characters[mt_rand(0,maxIndex)]; // <-- LINE 175
}
return $string;
}