【发布时间】:2015-12-29 07:08:35
【问题描述】:
我收到此错误:
致命错误:未捕获的错误:函数名必须是字符串
对于此代码:
if (function_exists($item['function'])) {
$item['function']($item, $default);
} elseif (method_exists($this, $item['function'])) {
$this->$item['function']($item, $default);
}
我知道将代码更改为
if (function_exists($item['function'])) {
$item['function']($item, $default);
} elseif (method_exists($this,$item['function'])) {
$this->{$item['function']}($item, $default);
}
解决了这个错误,但我的问题是,这条线是否应该
$item['function']($item, $default);
也可以转换成
{$item['function']}($item, $default);
还是可以保持原样?
【问题讨论】:
-
你确定这个项目的功能键已经设置并且是字符串吗?使用前添加检查。
标签: php operator-precedence php-7