Delo z rekurzijo v PHP
V programiranju obstaja koncept, imenovan
rekurzija - to je, ko funkcija kliče
samo sebe. Poglejmo si primer.
Izpišimo s pomočjo rekurzije števila od 1
do 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // tukaj funkcija kliče samo sebe
}
}
func();
?>
Razpravljajmo, kako ta koda deluje.
Imamo globalno spremenljivko $i
in funkcijo func, znotraj katere se v konzolo
izpiše vsebina spremenljivke $i,
nato pa se izvede ++.
Če je naša spremenljivka $i manjša ali
enaka 10, se funkcija pokliče znova.
Ker je spremenljivka $i globalna,
bo ob vsakem novem klicu funkcije v njej
shranjena vrednost spremenljivke $i
določena ob prejšnjem klicu.
Izkazalo se bo, da bo funkcija klicala samo
sebe, dokler $i ne postane
večja od 10.
Upoštevajte, da v našem primeru funkcije
ne moremo zagnati brez if - če to storimo,
bo prišlo do neskončnega klica funkcij.