Ребят, а может мне кто доступно объяснить по поводу рекурсивной функции? весь день пытаюсь вкурить..
Есть вот функция у меня, на возведение в степень:
function degree (int $a , int $b) {
if ( $b == 0 ) {
return 1;
}
if ($b > 0 ) {
$result = $a * degree ($a, $b - 1);
}return $result;
}
echo degree (3 , 12);
И она работает, но я не понимаю до конца, как) Дебаггером гоняю, происходит что-то вроде того, что она вызывает себя каждый раз, уменьшая $b на 1 , и когда доходит до 0 - срабатывает соответственно первое условие и получается, что возвращает 1, а потом происходит какая-то магия, интерпретатор встает на второй return и начинает умножать эту самую $a на саму себя несколько раз - но я не могу понять, оно в буфере какм-то содержится это количество или как?