您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

推荐的方法是使用匿名函数

$functions = [
  'function1' => function ($echo) {
        echo $echo;
   }
];

如果要存储已经声明的函数,则可以简单地通过名称将其引用为字符串:

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

$functions = [
  'function1' => 'do_echo'
];

PHP的旧版本(<5.3)中,不支持匿名函数,您可能需要诉诸使用create_function(自PHP 7.2起已弃用):

$functions = array(
  'function1' => create_function('$echo', 'echo $echo;')
);

所有这些方法callable伪类型的文档中列出。

无论选择哪种功能,都可以直接调用函数PHP≥5.4)或使用call_user_func``call_user_func_array

$functions['function1']('Hello World!');

call_user_func($functions['function1'], 'Hello World!');
php 2022/1/1 18:16:03 有690人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶