php - 注意:未初始化的字符串偏移量:-1
问题描述
网页正在返回注意:未初始化的字符串偏移量:-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行可能有什么问题?
解决方案
您需要减去 from strlen
,而不是 from 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;
}
推荐阅读
- php - 从php中的数组中删除数字键
- python - 为什么代码在 python2 和 python3 中有不同的行为?
- mysql - SQL MAX 日期时间 - 1 天
- c# - 使用 SOAP 服务和 IIS 的 Windows 身份验证失败
- python - Tensorflow 变换字符串张量的每个元素
- javascript - 在 Chrome DevTools 性能面板中,如何查看我的 javascript 代码中的哪些函数调用导致过多的“系统”调用
- docusignapi - How to get docusign webhook to retry on failure?
- python - 超时等待响应 115
- python - 如何在 Python 中将列表拆分为多个“偶数”列表
- python - 在2个值之间拆分python列表