无法理解PHP递归函数的工作原理

时间:2018-07-26 15:55:33

标签: php

我发现很难理解PHP中此递归函数的工作方式。我无法遵循在return语句中编写的代码。如何将1到10的总数相加?我很想了解这一行return $count + sum($count + 1);

我的整个代码是:

<?php
function sum($count)
{
    if($count <= 10)
    {
        echo $count;
        echo "<br />";
        return $count + sum($count + 1);
    }
}
$result = sum(1);
echo "The total is $result";
?>

输出:

1
2
3
4
5
6
7
8
9
10
The total is 55

我的代码中如何总共收到55个?我想逐步学习它。

1 个答案:

答案 0 :(得分:0)

定义功能

 function sum($count)
 {

检查$ count是否为<= 10,因此

$count > 10 
if($count <= 10)
{

打印$ count,然后换行

    echo $count;
    echo "<br />";

为$ count + 1返回$ count +相同函数的结果,使函数起作用直到达到if条件$ count <= 10

    return $count + sum($count + 1);
    }
}

请注意,当您传递1作为参数并且函数在其中调用自身时,它将一直持续到达到10     $ result = sum(1);     回显“总计为$ result”;     ?>