我在以下行的 PHP 代码中遇到了这个问题:
if (!is_null($sxml->children('http://a9.com/-/spec/opensearchrss/1.0/')))
错误是:
Fatal error: Call to a member function children()
我知道发生错误是因为没有 child 。
我想做的是确保不会触发错误。我尝试使用 is_null 和 is_object 检查 child 是否存在,但仍然会触发错误。
我只需要隐藏错误消息,因为我不知道 child 何时会出现。
我希望我说得通。
谢谢
最佳答案
I know the error occurs because there are no children.
此声明为 错了 .该错误与没有 child 的事实无关。
$sxml
中包含的对象没有名为 children
的方法因此调用总是会导致 fatal error 。它可能是一种属性(property);通过添加
print_r($sxml->children);
进行测试调用你的代码。除此之外,像
children('http://a9.com/-/spec/opensearchrss/1.0/')
这样的电话根本没有意义:对于检索特定类型的所有子项的函数,您将传递一个有效的 XPath 选择器或一个元素。但是,即使该功能存在,您传递的 URL 也不是这样,它很可能会失败。 - 显然您可以传递一个 URL 以按命名空间进行选择。
关于php - 如何实现错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8570224/