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

时间:2015-08-30 17:21:48

标签: php arrays explode undefined-index

如果数组的索引为null,我会运行一个while循环。但是,当我使用explode方法时,它会为while($ temptext [1] == null)抛出一个未定义的偏移量错误。但是,如果我评论爆炸线,它不再抛出未定义的偏移误差。我对这部分感到困惑,因为$ temptext [1]无论是否爆炸都是null。那么为什么其中一个会抛出错误,而另一个则不是?最后,我该怎么解决这个问题,所以我可以使用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上运行此代码片段。

1 个答案:

答案 0 :(得分:1)

如果使用$array[1] == null检查是否存在数组元素,php将抛出Notice: Undefined offset: 1,您应该使用!isset($array[1])代替。否则,您的代码不会包含任何错误。