PHP - 未定义的偏移量

时间:2015-06-29 12:52:24

标签: php undefined offset

以下代码在第5行有未定义的偏移量错误。 我不知道为什么会出现这种情况,我与它争斗了大约一个小时。 它说它在哪一行,但是正如我看到的语法是正确的:/

<?php
function palindrom($broj) {
    $brojniz=str_split($broj);
    for ($x=0; $x<3; $x++) {
        if ($brojniz[$x] != $brojniz[5-$x]) {return;}
    }
    return($broj);
}

$n=100;
$m=$n;
while ($n<1000) {
    while ($m<1000) {
    $br=$m*$n;
    palindrom($br);
    ++$m;
    }
    $m=100;
    ++$n;
}
?>

1 个答案:

答案 0 :(得分:0)

  

但是我看到语法正确

是的,语法是正确的。但运行时值不是。此语法也正确,但会产生错误:

$x = 1 / 0;

有问题的行是索引数组:

if ($brojniz[$x] != $brojniz[5-$x])

$x在该循环中从0到2。所以你要这样做索引:

if ($brojniz[0] != $brojniz[5])
if ($brojniz[1] != $brojniz[4])
if ($brojniz[2] != $brojniz[3])

该阵列是否从0-5开始?如果没有,那么您将引用未定义的索引。