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