2010-02-27 43 views
1

當我嘗試訪問xml中沒有出現的信息時,如下所示:$someInfo = $element->blabla->cats[0]->src;
PHP顯示如下通知:Notice: Trying to get property of non-object
我如何解決此問題?PHP:注意何時error_reporting(E_ALL)

+0

Duplicate:http://stackoverflow.com/questions/2345819/php-notice-when-error-reportinge-all – Franz 2010-02-27 01:08:07

回答

2

$element,blablacats[0]不是對象,因此不能包含任何元素。

使用isset()

if (isset($element->blabla->cats[0]->src)) 
echo $element->blabla->cats[0]->src; 

一個isset()應該做的,沒有必要連續檢查每一個部分。

即使cats存在但不是數組,這應該完成這項工作。

0

你可以使用isset覈實,如果對象屬性存在,就像這樣:

if (isset ($element->blabla) && isset ($element->blabla->cats) && etc..)

,如果你只是不希望看到的通知,使用error_reporting(E_ALL & ~E_NOTICE)

0

或替代的(但錯誤方式)你可以通過以下方式禁止登錄你的php腳本:

error_reporting(E_ERROR); 

這將強制PHP報告只有致命錯誤。

無論如何,使用Pekka解決方案。

相關問題