Rad sa rekurzijom u PHP

U programiranju postoji koncept koji se zove rekurzija - to je kada funkcija poziva samu sebe. Pogledajmo to na primeru. Ispišimo pomoću rekurzije brojeve od 1 do 10:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // ovde funkcija poziva samu sebe
    }
  }
  func();
?>

Hajde da prodiskutujemo kako ovaj kod funkcioniše.

Imamo globalnu promenljivu $i i funkciju func, unutar koje se u konzolu ispisuje sadržaj promenljive $i, a zatim se vrši ++.

Ako je naša promenljiva $i manja ili jednaka 10, onda se funkcija poziva ponovo. Pošto je promenljiva $i globalna, pri svakom novom pozivu funkcije u njoj će biti vrednost promenljive $i postavljena u prethodnom pozivu.

Ispostavlja se da će funkcija da poziva samu sebe sve dok $i ne postane veće od 10.

Imajte u vidu da u našem slučaju ne možemo funkciju pokrenuti bez if - ako se to uradi, dobiće se beskonačno pozivanje funkcija.