如何有效地将函数存储在 PHP 数组中?

Linda Hamilton
发布: 2024-11-01 08:06:02
原创
938 人浏览过

How can I store functions in PHP arrays effectively?

在 PHP 数组中存储函数

问题是是否可以在 PHP 数组中存储函数。例如,考虑以下内容:

$functions = [
  'function1' => function($echo) { echo $echo; }
];
登录后复制

这是一种可行的方法吗?如果没有,推荐的替代方案是什么?

推荐方法:匿名函数

在数组中存储函数的首选方法是使用匿名函数。与上面的示例一样,它们可以内联定义:

$functions = [
  'function1' => fn($echo) => $echo
];
登录后复制

引用外部函数

处理预先声明的函数时,您可以按名称引用它们strings:

<code class="php">function do_echo($echo) {
    echo $echo;
}

$functions = [
  'function1' => 'do_echo'
];</code>
登录后复制

旧方法 (PHP 5.3): create_function

对于不支持匿名函数的旧版本 PHP,create_function 构造可以是使用:
<code class="php">$functions = [
  'function1' => create_function('$echo', 'echo $echo;')
];</code>
登录后复制

调用存储函数

无论使用什么方法存储函数,都可以直接调用(PHP >= 5.4)或通过call_user_func/call_user_func_array.
<code class="php">$functions['function1']('Hello world!');

call_user_func($functions['function1'], 'Hello world!');</code>
登录后复制

总之,匿名函数是在 PHP 数组中存储函数的推荐方法,字符串引用用于预先声明的函数,而 create_function 可用于旧版 PHP 版本。

以上是如何有效地将函数存储在 PHP 数组中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!