## 如何在 PHP 中实现递归匿名函数?

Mary-Kate Olsen
发布: 2024-10-25 07:54:29
原创
281 人浏览过

## How Can You Implement Recursive Anonymous Functions in PHP?

PHP 中的匿名递归函数

在 PHP 中,匿名函数(也称为 lambda 函数)的概念提供了一种便捷的方式来定义内联函数无需指定正式名称。然而,当涉及到递归时,匿名函数面临着独特的挑战。

问题:

当尝试创建递归匿名函数时,可能会出现函数名称未正确传递到递归中。出现此问题的原因是,与具有已定义名称的常规函数​​不同,匿名函数缺少对自身的引用。

解决方案:

要解决此问题,您需要通过匿名函数作为 use 语句中的引用。这可以通过在函数名称前添加与号 (&) 来实现,如以下代码所示:

<code class="php">$factorial = function( $n ) use ( &amp;$factorial ) {
    if( $n <= 1 ) return 1;
    return $factorial( $n - 1 ) * $n;
};

print $factorial( 5 ); // Output: 120</code>
登录后复制

通过传递匿名函数作为引用,您可以在递归调用和原始函数定义,允许它访问自己的内部状态。这使得递归能够按预期运行,并且您可以成功计算阶乘值。

以上是## 如何在 PHP 中实现递归匿名函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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