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<?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í.