我遇到了奇怪的问题,当我做echo $ setting-> samp-> url;它完美地工作,但当我把它放在一个功能。它告诉我注意未定义的变量,这里发生了什么?
$setting = simplexml_load_file('setting.xml');
#Content inside <samp><url>value</url></samp> printed.
echo $setting->samp->url;
sampserver_update();
#Problem
function sampserver_update() {
echo $setting->samp->url;
}
答案 0 :(得分:1)
值必须作为参数传递给函数
sampserver_update($setting);
function sampserver_update($setting) {
echo $setting->samp->url;
}
只需替换此行
答案 1 :(得分:1)
那是因为函数内部没有$设置。您可能希望将其作为参数传递。
在此处阅读变量范围: http://php.net/manual/en/language.variables.scope.php
答案 2 :(得分:0)
将您的功能更新为以下
function sampserver_update()
{
$setting = simplexml_load_file('setting.xml');
return $setting->samp->url;
}
致电并打印
echo sampserver_update();