开发者社区> 问答> 正文

您可以将函数存储在PHP数组中吗?

例如:

$functions = array( 'function1' => function($echo) { echo $echo; } ); 这可能吗?最好的选择是什么? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 13:01:33 486 0
1 条回答
写回答
取消 提交回答
  • 有一些选择。用途create_function:

    $functions = array( 'function1' => create_function('$echo', 'echo $echo;') ); 只需将函数的名称存储为字符串即可(这实际上create_function是在做的事情):

    function do_echo($echo) { echo $echo; }

    $functions = array( 'function1' => 'do_echo' ); 如果您使用的是PHP 5.3,则可以使用匿名函数:

    $functions = array( 'function1' => function($echo) { echo $echo; } ); 所有这些方法在文档的callback伪类型下列出。无论您选择哪种方式,建议的调用函数的方式都可以使用call_user_funcor call_user_func_array函数。

    call_user_func($functions['function1'], 'Hello world!');

    2020-02-09 13:01:47
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载