Работа с рекурсия в PHP

В програмирането има понятие, известно като рекурсия - това е, когато функция извиква сама себе си. Нека разгледаме пример. Ще изведем с помощта на рекурсия числа от 1 до 10:

php<?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 - ако се направи това, ще се получи безкрайно извикване на функции.