为了账号安全,请及时绑定邮箱和手机立即绑定

如何从存储在变量中的字符串调用PHP函数

如何从存储在变量中的字符串调用PHP函数

PHP
慕森卡 2019-07-09 10:39:28
如何从存储在变量中的字符串调用PHP函数我需要能够调用一个函数,但是函数名存储在一个变量中,这可能吗?例如:function foo () {   //code here } function bar () {   //code here } $functionName = "foo"; // i need to call the function based on what is $functionName任何帮助都会很好。谢谢!
查看完整描述

3 回答

?
达令说

TA贡献1821条经验 获得超6个赞

查看完整回答
反对 回复 2019-07-09
?
12345678_0001

TA贡献1802条经验 获得超5个赞

我最喜欢的版本是内联版本:


${"variableName"} = 12;


$className->{"propertyName"};

$className->{"methodName"}();


StaticClass::${"propertyName"};

StaticClass::{"methodName"}();

您也可以在括号中放置变量或表达式!


查看完整回答
反对 回复 2019-07-09
?
aluckdog

TA贡献1847条经验 获得超7个赞

如前所述,有几种方法可以用最安全的方法来实现:call_user_func()或者如果你必须的话,你也可以沿着$function_name()..可以使用这两种方法传递参数,如下所示

$function_name = 'foobar';$function_name(arg1, arg2);call_user_func_array($function_name, array(arg1, arg2));

如果要调用的函数属于一个对象,则仍然可以使用以下任何一个

$object->$function_name(arg1, arg2);call_user_func_array(array($object, $function_name), array(arg1, arg2));

但是,如果要使用$function_name()方法如果名称以任何方式是动态的,则测试函数是否存在可能是一个好主意。

if(method_exists($object, $function_name)){
    $object->$function_name(arg1, arg2);}


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 428 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信