未定义的偏移量151?

时间:2013-03-25 18:36:26

标签: php arrays

我不知道未定义的偏移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);
}

2 个答案:

答案 0 :(得分:1)

未定义的偏移量151意味着您要检查数组是否包含第151个元素。

介意发布更多与您的for循环相关的代码?如果不知道$amt1的价值,我们就无法做任何事情。

答案 1 :(得分:0)

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

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