Rekurzió kezelése PHP-ben
A programozásban létezik a
rekurzió fogalma - ez az, amikor egy függvény
önmagát hívja. Nézzük meg egy példán keresztül.
Jelenítsük meg a rekurzió segítségével a 1-től
10-ig terjedő számokat:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // itt a függvény önmagát hívja
}
}
func();
?>
Beszéljük meg, hogyan működik ez a kód.
Van egy globális $i változónk
és egy func függvényünk, amelynek belsejében a konzolra
kiírjuk a $i változó tartalmát,
majd egy ++ műveletet hajtunk végre.
Ha a $i változónk kisebb vagy
egyenlő, mint 10, akkor a függvény ismét meghívódik.
Mivel a $i változó globális,
ezért a függvény minden új hívásakor abban
az előző hívásnál beállított $i
változó érték lesz.
Így az lesz, hogy a függvény addig hívja önmagát,
amíg a $i nem lesz
nagyobb, mint 10.
Vedd figyelembe, hogy esetünkben a függvényt
nem indíthatjuk if nélkül - ha ezt megteszed,
akkor végtelen függvényhívás lesz az eredmény.