小编典典

匿名递归 PHP 函数

all

是否有可能有一个递归和匿名的 PHP 函数?这是我让它工作的尝试,但它没有传入函数名。

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

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


阅读 66

收藏
2022-06-10

共1个答案

小编典典

为了让它工作,你需要传递 $factorial 作为参考

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