當我嘗試訪問xml中沒有出現的信息時,如下所示:$someInfo = $element->blabla->cats[0]->src;
PHP顯示如下通知:Notice: Trying to get property of non-object
我如何解決此問題?PHP:注意何時error_reporting(E_ALL)
1
A
回答
2
$element
,blabla
或cats[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解決方案。
相關問題
- 1. error_reporting(E_ALL)和error_reporting(E_ALL&〜E_NOTICE)
- 2. PHP output_buffering只使用error_reporting(E_ALL)問題
- 3. 當`error_reporting`設置爲`E_ALL`時,無法顯示php錯誤
- 4. 的error_reporting(E_ALL)不會產生錯誤
- 5. MySQL的PHP的問題:儘管使用error_reporting(E_ALL)線
- 6. 的php.ini的error_reporting設爲E_ALL但不工作
- 7. PHP error_reporting與display_errors
- 8. PHP error_reporting是0
- 9. E_ALL |有什麼意義? E_STRICT是否與E_ALL的值相同?
- 10. 儘管error_reporting(E_ALL)和error_log類型的使用3仍然在屏幕上PHP警告
- 11. PHP - error_reporting不起作用
- 12. PHP的session_start()與error_reporting()衝突?
- 13. PHP-FPM無法覆蓋error_reporting?
- 14. E_ALL^E_NOTICE和E_ALL&〜E_NOTICE之間的區別
- 15. 如何將PHP配置爲在運行時忽略error_reporting()?
- 16. error_reporting 4983
- 17. 來自PHP的更多信息error_reporting
- 18. PHP CLI System_Daemon和error_reporting選項被忽略?
- 19. error_reporting如何被覆蓋?
- 20. PHP注意:PHP中未定義變量
- 21. error_reporting布爾操作
- 22. E_PARSE和使用error_reporting
- 23. 如何在PHP 5.3中強制使用error_reporting模式
- 24. PHP 5.4中的E_STRICT和E_ALL有什麼區別?
- 25. E_ALL和E_STRICT在PHP中的含義是什麼?
- 26. PHP沒有顯示,儘管E_ALL所有錯誤被設置
- 27. PHP運行時注意用新鮮TYPO3安裝
- 28. PHP注意:導入數據時未定義的偏移量
- 29. PHP注意:在創建symfony表單模板時'Array to string conversion'
- 30. Ajax - 注意:在PHP中使用$ _GET時未定義索引
Duplicate:http://stackoverflow.com/questions/2345819/php-notice-when-error-reportinge-all – Franz 2010-02-27 01:08:07