Lucrul cu recursivitatea în PHP

În programare există un concept numit recursivitate - atunci când o funcție se apelează pe ea însăși. Să privim un exemplu. Să afișăm folosind recursivitatea numerele de la 1 la 10:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // aici funcția se apelează pe ea însăși
    }
  }
  func();
?>

Să discutăm cum funcționează acest cod.

Avem variabila globală $i și funcția func, în interiorul căreia în consolă se afișează conținutul variabilei $i, apoi se face ++.

Dacă variabila noastră $i este mai mică sau egală cu 10, atunci funcția este apelată din nou. Deoarece variabila $i este globală, la fiecare nou apel al funcției în ea va fi valoarea stabilită la apelul anterior a variabilei $i.

Se va întâmpla ca funcția să se apeleze pe ea însăși până când $i nu devine mai mare decât 10.

Rețineți că, în cazul nostru, nu putem porni funcția fără if - dacă facem acest lucru, va rezulta un apel infinit de funcții.