gpt4 book ai didi

php - 通知 : Uninitialized string offset in PHP

转载 作者:可可西里 更新时间:2023-11-01 00:09:44 26 4
gpt4 key购买 nike

嗨,我有这个功能,它返回一个通知:

注意:未初始化的字符串偏移量

function generaterandomkey($length) {       

$string='';
$characters = "0123456789abcdef";
for ($p = 0; $p < $length ; $p++) {
$string .= $characters[mt_rand(0, strlen($characters))];
}

return $string;
}

受影响的行是这样的:

$string .= $characters[mt_rand(0, strlen($characters))];

我试过戴牙套,但没用。如果有人能指出一些建议,我将不胜感激。谢谢。

最佳答案

由于 strlen($characters),您偶尔会超过 $characters,它应该是 strlen($characters) - 1。你的随机范围应该从零开始,你需要以长度减一结束。如果 $characters 的长度为 10,则最后一个从零开始的数组索引为 nine,这将成为随机选择的上限。

$string='';
$characters = "0123456789abcdef";
for ($p = 0; $p < $length ; $p++) {
$string .= $characters[mt_rand(0, strlen($characters) - 1)];
}

因为您是随机选择,所以您不会总是收到通知——只有当 mt_rand() 在循环中的某个点返回其最大值时才会发生。

关于php - 通知 : Uninitialized string offset in PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15538646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com