PHP - 未定义的偏移量

PHP - undefined offset

下面这段代码在第 5 行有未定义的偏移错误。 我不知道为什么会出现这种情况,我为此战斗了大约一个小时。 它说它在 for 所在的一行中,但正如我所见,语法是正确的:/

<?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;
}
?>

but as I see syntax is correct

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

$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 吗?如果不是,那么你正在引用一个未定义的索引。