如何根据定义的命名常量创建动态函数名?
例如:
define('NAME1','func1');
function NAME1($arg) {
echo "function 1 $arg\n";
print __FUNCTION__." in ".__FILE__." at ".__LINE__."\n";
};
NAME1("helllo");
这个回声函数名称为“NAME1” - 为什么它不是func1?
答案 0 :(得分:4)
我能想到的最接近的事情是使用PHP 5.3 anonymous functions(使用eval
除外)
define('NAME1', 'my_function');
$func_name = NAME1;
$$func_name = function($arg) {
// Your code
};
$my_function('test');
答案 1 :(得分:1)
你做不到。
this echos function name as "NAME1" - why is it not func1?
因为您将函数名称定义为NAME1
。