数组索引中未定义的偏移量错误

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])。否则,您的代码没有错误。