Функция "fib" - стандартная или нет?

Здравствуйте.
На просторах инета увидел такой код вывода n-ого члена последовательности Фибоначчи:

<?php
function fib($n)
{
if($n == 0 || $n==1)
  {
    return 1;
  }else
  {
    return fib($n-2)+fib($n-1);
  }
}
echo fib(6);
?>

Непонятно, каким образом интерпретатор высчитывает/выводит n-ый член последовательности Фибоначчи?

Key Words for FKN + antitotal forum (CS VSU):

melisa's picture

Это пример рекурсивной функции (функция вызывает саму себя). Посмотрите пример здесь

то, что это рекурсия, я понял. Либо я пока не понимаю природу рекурсии, но мне непонятно по какой формуле интерпретатор считает последовательность Фибоначчи?

melisa's picture

перейдите по ссылке, которую я указала в комментарии выше. там вы прочитаете про рекурсию и будет легче понять её природу.

пройдите алгоритм, предлагаемый функцией вручную (на листочке распишите, что вызывается и с какими аргументами и с какими результатами). может так будет понятнее

формула проста - сумма двух предыдущих членов. это и есть смысл последовательности Фибоначчи