我有这个代码,我不明白输出。我期待的是121号输出。
我想了解这个特定的函数,而不是阶乘函数。
代码:

function a($num) {
    static $totFac = 1;

    if($num > 0){
        $totFac = $totFac * $num;
        a($num - 1);
    }

    $totFac++;
    return $totFac;
}

$result = a(5);
echo 'result: '.$result;

输出:
126

最佳答案

<?php
function a($num) {
    static $totFac = 1;
    if($num > 0){
        $totFac = $totFac * $num;
        echo 'totfac: '.$totFac . "<br>";
        return a($num - 1); //you have to return here to stop execution
    } else {
        $totFac++;
        return $totFac;
    }
}
$result = a(5);
echo 'result: '.$result;
?>

看评论来解释

10-06 14:01