我们使用始终返回数组的模型。它永远不会返回一个对象,null,0,false或其他东西。现在,我发现了一个致命的错误。 PHP循环遍历一个空数组。怎么可能?
var_dump($arrProduct); //prints array > empty
foreach($arrProduct as $Product){
var_dump($Product); //null
$name = $Product->getTitle(); //my Exception
}
转换为数组无济于事。我不测试数组是否包含值,因为这个模型用于几百行。
这可能是PHP设置问题还是缓存问题?
答案 0 :(得分:0)
解决方案来了:原因:
有一个semikolon和foreach之后的行尾
foreach($arrProduct as $Product){ ;
没有人注意到它:-)
有趣的是,这是完全有效的代码。
答案 1 :(得分:-1)
if ($arrProduct && is_array($arrProduct)) {
foreach($arrProduct as $Product){
var_dump($Product); //null
$name = $Product->getTitle(); //my Exception
}
}