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