【发布时间】:2011-05-31 10:21:26
【问题描述】:
我在数组上遇到了上述警告。
我完全理解警告是什么以及导致它的原因,并且我已采取一切措施来防止它,但是很遗憾,没有任何效果。
采取的步骤:
我已经检查了数组,如果不存在就声明它。
if(!$this->theVariables['associated']){
$this->theVariables['associated'] = array();
}
和
$this->theVariables['associated'] = $this->theVariables['associated'] || array();
两者都没有任何作用。
我已经将foreach 包装在一个if 中,它检查数组是否为空(!empty())、它是否存在、它是一个数组(is_array()),然后甚至对数组进行类型转换在 foreach 声明 (foreach((array)$this->theVariables['associated'] as $item)) 中,但我仍然收到此警告。
由于我无法在此特定服务器上关闭错误报告,是否没有其他方法可以阻止此警告显示?
这让我发疯了。
【问题讨论】:
-
你能 var_dump 你正在使用的变量并将结果发布到这里吗?
-
你确定你检查的是正确的数组吗?或者它不会在循环内被覆盖?
-
var_dump在我检查数组之前返回null,var_dump在我检查并声明它按预期返回array(empty)之后。所以对象现在是一个数组,但每次尝试foreach时我仍然会收到此警告
标签: php foreach reporting warnings