Práca s rekurziou v PHP
V programovaní existuje pojem, ktorý sa nazýva
rekurzia - to je, keď funkcia volá
samu seba. Pozrime sa na príklad.
Vypíšme pomocou rekurzie čísla od 1
do 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // tu funkcia volá samu seba
}
}
func();
?>
Poďme diskutovať o tom, ako tento kód funguje.
Máme globálnu premennú $i
a funkciu func, vnútri ktorej sa do konzoly
vypíše obsah premennej $i,
a potom sa vykoná ++.
Ak je naša premenná $i menšia alebo
rovná 10, potom sa funkcia volá znovu.
Pretože premenná $i je globálna,
pri každom novom volaní funkcie v nej
bude nastavená hodnota premennej $i
z predchádzajúceho volania.
Výsledkom bude, že funkcia bude volať samu
seba, kým $i nebude
väčšia ako 10.
Majte na pamäti, že v našom prípade nie je možné funkciu
spustiť bez if - ak by sa to urobilo,
vzniklo by nekonečné volanie funkcií.