当前位置: 首页 > 面试题库 >

匿名递归PHP函数

孟乐逸
2023-03-14
问题内容

是否可以具有递归和匿名的PHP函数?这是我尝试使其工作,但未传入函数名称。

$factorial = function( $n ) use ( $factorial ) {
    if( $n <= 1 ) return 1;
    return $factorial( $n - 1 ) * $n;
};
print $factorial( 5 );

我还知道这是实现阶乘的一种不好方法,这只是一个例子。


问题答案:

为了使其正常工作,您需要传递$ factorial作为参考

$factorial = function( $n ) use ( &$factorial ) {
    if( $n == 1 ) return 1;
    return $factorial( $n - 1 ) * $n;
};
print $factorial( 5 );


 类似资料:
  • 本文向大家介绍JavaScript中匿名函数的递归调用,包括了JavaScript中匿名函数的递归调用的使用技巧和注意事项,需要的朋友参考一下 不管是什么编程语言,相信稍微写过几行代码的同学,对递归都不会陌生。 以一个简单的阶乘计算为例: 我们可以看出,递归就是在函数内部调用对自身的调用。 那么问题来了,我们知道在Javascript中,有一类函数叫做匿名函数,没有名称,怎么调用呢?当然你可以说,

  • 本文向大家介绍PHP匿名函数,包括了PHP匿名函数的使用技巧和注意事项,需要的朋友参考一下 介绍 匿名函数是没有任何用户定义名称的函数。这样的函数也称为闭包或lambda函数。有时,您可能希望功能一次使用。Closure是一个匿名函数,它在定义它的环境中关闭。您需要在其中指定use关键字。匿名函数的最常见用法是创建内联回调函数。 语法 在function关键字和左括号之间没有函数名称。 函数定义后

  • php版本: 5.4 我定义了一个这样的函数 输出是 如何在的正文中引用。

  • 使用以下代码: 为什么这个输出: 而不是我所期望的,那就是: 我讨厌递归。我讨厌递归。我讨厌递归。谢谢

  • 问题内容: 我在玩PHP中的匿名函数,并意识到它们似乎并没有到达它们之外的变量。有什么办法可以解决这个问题? 例: 这将输出“无”。匿名函数有什么方法可以访问? 问题答案: 是的,使用闭包: 请注意,为了使您能够在匿名函数范围之外修改和检索修改后的值,必须在闭包中使用对其进行引用。

  • 我在PHP中使用匿名函数,发现它们似乎无法访问外部变量。有什么办法可以绕过这个问题吗? 示例: 这将输出“nothing”。匿名函数有没有办法访问变量?