当我尝试访问xml中未显示的信息时,如下所示:$someInfo = $element->blabla->cats[0]->src;
PHP显示如下通知:Notice: Trying to get property of non-object
我该如何处理此事?
答案 0 :(得分:2)
$element
,blabla
或cats[0]
不是对象,因此不能包含任何元素。
使用isset()
:
if (isset($element->blabla->cats[0]->src))
echo $element->blabla->cats[0]->src;
一个isset()
应该做,不需要连续检查每个部分。
即使cats
存在但不是数组,这应该可以完成工作。
答案 1 :(得分:0)
您可以使用isset来验证对象属性是否存在,如下所示:
if (isset ($element->blabla) && isset ($element->blabla->cats) && etc..)
如果您不想看到通知,请使用error_reporting(E_ALL & ~E_NOTICE)
答案 2 :(得分:0)
或者替代(但错误的方式)你可以通过以下方式禁止登录你的php脚本:
error_reporting(E_ERROR);
这将迫使php仅报告致命错误。
无论如何,请使用Pekka解决方案。