我需要能够调用一个函数,但函数名存储在一个变量,这是可能的吗?例句:
function foo ()
{
//code here
}
function bar ()
{
//code here
}
$functionName = "foo";
// I need to call the function based on what is $functionName
我需要能够调用一个函数,但函数名存储在一个变量,这是可能的吗?例句:
function foo ()
{
//code here
}
function bar ()
{
//code here
}
$functionName = "foo";
// I need to call the function based on what is $functionName
当前回答
使用call_user_func函数。
其他回答
为了完整起见,你也可以使用eval():
$functionName = "foo()";
eval($functionName);
然而,call_user_func()是正确的方法。
如果你在一个对象上下文中试图动态调用一个函数,请尝试如下代码:
$this->{$variable}();
使用call_user_func函数。
我不知道你为什么要用它,听起来对我来说一点都不好,但如果只有少量的函数,你可以使用if/elseif结构。 我不知道是否有直接的解决办法。
类似的 $foo = "bar"; $test = "foo"; echo $ $测试;
应该返回酒吧,你可以尝试,但我不认为这将工作的功能
是的,这是可能的:
function foo($msg) {
echo $msg."<br />";
}
$var1 = "foo";
$var1("testing 1,2,3");
来源:http://www.onlamp.com/pub/a/php/2001/05/17/php_foundations.html?page=2