数组索引中未定义的偏移量错误
Undefined offset error in array index
我有一个 while 循环,如果数组的索引为空则运行。但是,当我使用 explode 方法时,它会抛出 while ($temptext[1] == null) 的未定义偏移错误。但是,如果我将爆炸线注释掉,它就不再抛出未定义的偏移错误。我对那部分感到困惑,因为 $temptext[1] 无论是否爆炸都是空的。那么,为什么其中一个会抛出错误,而另一个不会呢?最后,我该如何解决这个问题,以便我可以使用 while 循环来比较空数组索引而不引发错误?
$temptext = null;
$count = 1;
$text = ",";
$textX = "Hello there";
while ($temptext[1] == null && $count > 0) {
$count--;
$temptext = explode($text,$textX,2);
}
P.S:我 运行 这个片段在 PhpFiddle.org。
如果您使用 $array[1] == null
检查数组元素是否存在,php 将抛出 Notice: Undefined offset: 1
,您应该改用 !isset($array[1])
。否则,您的代码没有错误。
我有一个 while 循环,如果数组的索引为空则运行。但是,当我使用 explode 方法时,它会抛出 while ($temptext[1] == null) 的未定义偏移错误。但是,如果我将爆炸线注释掉,它就不再抛出未定义的偏移错误。我对那部分感到困惑,因为 $temptext[1] 无论是否爆炸都是空的。那么,为什么其中一个会抛出错误,而另一个不会呢?最后,我该如何解决这个问题,以便我可以使用 while 循环来比较空数组索引而不引发错误?
$temptext = null;
$count = 1;
$text = ",";
$textX = "Hello there";
while ($temptext[1] == null && $count > 0) {
$count--;
$temptext = explode($text,$textX,2);
}
P.S:我 运行 这个片段在 PhpFiddle.org。
如果您使用 $array[1] == null
检查数组元素是否存在,php 将抛出 Notice: Undefined offset: 1
,您应该改用 !isset($array[1])
。否则,您的代码没有错误。