一尘不染

匿名递归PHP函数

php

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

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

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


阅读 619

收藏
2020-05-29

共1个答案

一尘不染

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

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