Работа с рекурсия в PHP
В програмирането има понятие, известно като
рекурсия - това е, когато функция извиква
сама себе си. Нека разгледаме пример.
Ще изведем с помощта на рекурсия числа от 1
до 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // тук функцията извиква сама себе си
}
}
func();
?>
Нека обсъдим как работи този код.
Имаме глобална променлива $i
и функция func, вътре в която в конзолата
се извежда съдържанието на променливата $i,
а след това се прави ++.
Ако нашата променлива $i е по-малка или
равна на 10, то функцията се извиква отново.
Тъй като променливата $i е глобална,
то при всяко ново извикване на функцията в нея
ще бъде зададената при предишното извикване стойност
на променливата $i.
Ще се получи, че функцията ще извиква сама
себе си, докато $i не стане
по-голяма от 10.
Имайте предвид, че в нашия случай не можем да
стартираме функцията без if - ако се направи това,
ще се получи безкрайно извикване на функции.