Rekursiooniga töötamine PHP-s
Programmeerimises on selline mõiste nagu
rekursioon - see on siis, kui funktsioon kutsub
välja iseennast. Vaatame näite abil.
Väljastame rekursiooni abil numbrid 1
kuni 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // siin kutsub funktsioon välja iseennast
}
}
func();
?>
Arutleme, kuidas see kood töötab.
Meil on globaalne muutuja $i
ja funktsioon func, mille sees konsooli
väljastatakse muutuja $i sisu,
seejärel tehakse ++.
Kui meie muutuja $i on väiksem või
võrdne kui 10, siis kutsutakse funktsioon uuesti välja.
Kuna muutuja $i on globaalne,
siis iga uue funktsiooni väljakutsega on selles
eelmise väljakutsega määratud muutuja $i
väärtus.
Tulemuseks on, et funktsioon kutsub iseennast
välja kuni $i muutub
suuremaks kui 10.
Pidage meeles, et meie puhul ei saa funktsiooni
käivitada ilma if-ita - kui seda teha,
siis tekib lõputu funktsioonide väljakutsete ahel.