函数名必须是字符串致命错误


Function name must be a string fatal error

我有这个致命的错误,我已经盯着我的代码几个小时了。我认为这与函数action_send的名称无关,它一定是一些愚蠢的"缺少括号"或其他东西…

你能帮我一下吗?

if (...) {}
else if (!historic_exist($id)) {
                action_send($req, '0', (strpos($req['TAG'], 'ADMD') !== false) ? $req['ID_ACT'] : '');
//the error is in this line : 
                    if ((strpos($req['WF'],'Install') !== false) && $req('ID_EQU') !== '')
                action_send($req, '', '0');
                    }

在PHP中,您可以使用变量动态调用函数。在你的代码中,你正在使用$req('ID_EQU'), PHP认为它是一个函数调用。

但是$req是一个数组,所以PHP解析器抛出一个致命错误:

Fatal error: Function name must be a string in '..'file.php on line ..

必须将$req('ID_EQU')改为$req['ID_EQU']

尝试改变,

if ((strpos($req['WF'],'Install') !== false) && $req('ID_EQU') !== '')

if ((strpos($req['WF'],'Install') !== false) && $req['ID_EQU'] !== '')