如果数组的索引为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上运行此代码片段。
答案 0 :(得分:1)
如果使用$array[1] == null
检查是否存在数组元素,php将抛出Notice: Undefined offset: 1
,您应该使用!isset($array[1])
代替。否则,您的代码不会包含任何错误。