php函数作为函数参数

php函数作为函数参数,php,xml,parsing,function,Php,Xml,Parsing,Function,在双语网站上检查当前语言时,请考虑以下功能声明: function checkNewsLanguage(){ $requiredURL = $_SERVER['REQUEST_URI']; $myLanguage = explode('?lang=',$requiredURL); if($myLanguage=='en') return false; else return true; } 然后,我使用以下函数以所需语言获取一些XML对象: fu

在双语网站上检查当前语言时,请考虑以下功能声明:

function checkNewsLanguage(){
    $requiredURL = $_SERVER['REQUEST_URI'];
    $myLanguage = explode('?lang=',$requiredURL);
    if($myLanguage=='en')
        return false;
    else return true;
}
然后,我使用以下函数以所需语言获取一些XML对象:

function item1('checkNewsLanguage')
    if(checkNewsLanguage()){
        $urlD = "someurl1";
        $xmlD = simplexml_load_file(cacheFetch($urlD,'cachedfeed1.xml',3600));
        $itemD = '';
        if($xmlD === FALSE)
            {$itemD = '';}
        else
            {$itemD = $xmlD->channel->item;}
    }
    else {
        $urlD = "someurl2";
        $xmlD = simplexml_load_file(cacheFetch($urlD,'cachedfeed2.xml',3600));
        $itemD = '';
        if($xmlD === FALSE)
            {$itemD = '';}
        else
            {$itemD = $xmlD->channel->item;}
    }
    return $itemD;
    }
function item2('checkNewsLanguage')
//Analogic procedure

我得到
“解析错误:语法错误,意外的T_常量\u封装的\u字符串,应为“&”或T_变量”
。正如您所看到的,item1()和item2()中的函数调用不正确。非常感谢任何代码帮助。

您的函数参数需要是变量,而不仅仅是字符串(如错误所示)。您的函数应定义为:

函数项1($variableHere)
而不是
函数项2('string here')

当我再次查看您的代码时,似乎您试图做的是根据
item1()
item2()
的参数调用某个函数(因此,如果您传递
item1(foo)
,您希望调用
foo()
函数

尝试:


类似于
item2()
。通过这种方式,您可以调用
item1('checkNewsLanguage')
,这就是它将在主体内部调用的函数。

问题是在线的:

function item1('checkNewsLanguage')
您不能将
'checkNewsLanguage'
放在那里。您需要有一个接受函数参数的变量

function item1('checkNewsLanguage')