0

我不知道未定义的偏移量 151 是什么意思,但我知道它与我用来翻转 ascii 值的过程非常吻合。这是它不喜欢的代码:

$secondb = $array1[$i2] / 10;
$firstb = $array1[$i2] % 10;

它在这个“for”循环中出现了这个错误:

    for($i2 = 0; $i2 < $amt1; $i2++);
    {
        $secondb = $array1[$i2] / 10;
        $firstb = $array1[$i2] % 10;
        $firstb = $firstb * 10;
        $array1[$i2] = $firstb + $secondb;
    }

更多代码:

function decoding($inputs)
{
    $inputs = base64_decode($inputs);
    $amt1 = strlen($inputs);
    $array1 = str_split($inputs);
    for($i2 = 0; $i2 < $amt1; $i2++);
        {
            $secondb = $array1[$i2] / 10;
            $firstb = $array1[$i2] % 10;
            $firstb = $firstb * 10;
            $array1[$i2] = $firstb + $secondb;
        }
        $inputs = implode($array1);
}
4

2 回答 2

1

未定义的偏移量 151 表示您正在检查数组是否包含第 151 个元素。

介意发布更多与您的 for 循环相关的代码吗?如果不知道 的值,我们什么都做不了$amt1

于 2013-03-25T18:39:11.167 回答
0

当您除以第一个值时,不允许$array1[$i2]/10执行除以 0。要跳过除以 0,我建议您在 for 循环中创建一个 if 条件并跳过除以 0,或者将起始值设置为to 。$array1[$i2]%10$i20$i21

for($i2 = 1, $i2< $amt1+1 ; i++){//your code}

于 2013-03-25T18:46:04.490 回答