Рад са рекурзијом у 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 - ако се то уради, добићемо бесконачно позивање функција.