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 吗?如果不是,那么你正在引用一个未定义的索引。
下面这段代码在第 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 吗?如果不是,那么你正在引用一个未定义的索引。