无法获取函数内的simplexml内容

时间:2016-01-04 12:48:39

标签: php

我遇到了奇怪的问题,当我做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;
}

3 个答案:

答案 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();