【发布时间】:2014-02-13 16:53:56
【问题描述】:
我有一个存储在 DB 列中的方法名称,如下所示:
customs::nicknames($data)
这是相关的类:
class customs extends service {
function __construct() {
parent::__construct();
}
public static function nicknames($data) {
return $data;
}
}
当我这样称呼它时:
$merge = eval($error['custom'] . ';');
不返回 $data 变量的内容。
只是为了尝试一下,我尝试使用echo,它正确地将数组返回到字符串转换 php 错误。
因此变量$data 被正确读取。但是为什么不返回任何东西呢?
如果我尝试在不使用 eval() 的情况下调用此方法,如下所示:
$merge = customs::nicknames($data);
$data 正确返回。
那怎么了?
为什么eval() 无法返回方法结果?我该如何解决这个问题?
【问题讨论】:
-
你试过 eval('return ' . $error['custom'] . ';'); ?