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