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
$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.