在函数中返回 XML 值
我有一个返回的函数
if (file_exists($address)) {
return simplexml_load_file($address) or die("Error loading XML");
}
else {
return false;
}
然后在我的页面上调用我的 XML 函数
$page = fetchXML();
echo $page->title;
但是
Notice: Trying to get property of non-object in [...]
当我 var_dump($page);
我得到 bool(true)
为什么不是它返回我的 XML 数据吗?
注意:
如果我
return $address
在我的函数中,那么使用
$page = simplexml_load_file(fetchXML()) or die("Error loading XML");
echo $page->title;
它就可以了。
I have a function that returns
if (file_exists($address)) {
return simplexml_load_file($address) or die("Error loading XML");
}
else {
return false;
}
Then on my pages I call my XML function
$page = fetchXML();
echo $page->title;
But I get
Notice: Trying to get property of non-object in [...]
When I var_dump($page);
I get bool(true)
Why isn't it returning my XML data?
Note:
If I
return $address
in my function, then use
$page = simplexml_load_file(fetchXML()) or die("Error loading XML");
echo $page->title;
it works.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为你不应该像这样短路它:
return
的优先级低于or
可以这么说(实际上,它不是一个运算符,所以整个表达式都会运行),但=
的值更高。等同于:
While
等同于:
另请参阅运算符优先级
Because you shouldn't shortcircuit it like that:
return
has less precedence then theor
so to speak (actually, it's not an operator, so the whole expression is run), but=
has a higher one.Is the same as:
While
Is the same as:
See also operator precedence