小编bac*_*ups的帖子

PHP7 method_exists未捕获错误:函数名必须是字符串

我收到此错误:

致命错误:未捕获错误:函数名称必须是字符串

对于此代码:

if (function_exists($item['function'])) {
    $item['function']($item, $default);
} elseif (method_exists($this, $item['function'])) {
    $this->$item['function']($item, $default);
}
Run Code Online (Sandbox Code Playgroud)

我知道将代码更改为

if (function_exists($item['function'])) {
    $item['function']($item, $default);
} elseif (method_exists($this,$item['function'])) {
    $this->{$item['function']}($item, $default);
}
Run Code Online (Sandbox Code Playgroud)

解决了这个错误,但我的问题是,应该这样

 $item['function']($item, $default);
Run Code Online (Sandbox Code Playgroud)

也被转换为

{$item['function']}($item, $default);
Run Code Online (Sandbox Code Playgroud)

还是可以保留原样?

php operator-precedence php-7

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

operator-precedence ×1

php ×1

php-7 ×1