Punimi me rekursion në PHP

Në programim ekziston koncepti i rekursionit - kjo është kur një funksion thërret veten. Le të shohim një shembull. Le të shfaqim numrat nga 1 në 10 duke përdorur rekursion:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // këtu funksioni thërret veten
    }
  }
  func();
?>

Le të diskutojmë se si funksionon ky kod.

Ne kemi një ndryshore globale $i dhe një funksion func, brenda së cilës në konsol shfaqet përmbajtja e ndryshores $i, dhe pastakryhet ++.

Nëse ndryshorja jonë $i është më e vogël ose barabartë me 10, atëherë funksioni thirret përsëri. Meqenëse ndryshorja $i është globale, atëherë në çdo thirrje të re të funksionit në të do të jetë vlera e caktuar nga thirrja e mëparshme e ndryshores $i.

Kështu do të ndodhë që funksioni do të thërrasë veten derisa $i të bëhet më e madhe se 10.

Kini parasysh që në rastin tonë nuk mundet funksioni të niset pa if - nëse kjo bëhet, do të fitohet një thirrje e pafundme funksionesh.