Rekursijas darbs PHP
Programmēšanā pastāv tāds jēdziens kā
rekursija - tas ir, kad funkcija izsauc
pati sevi. Apskatīsim to ar piemēru.
Izmantosim rekursiju, lai izvadītu skaitļus no 1
līdz 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // šeit funkcija izsauc pati sevi
}
}
func();
?>
Pārrunāsim, kā šis kods strādā.
Mums ir globālais mainīgais $i
un funkcija func, kuras iekšienē konsolē
tiek izvadīts mainīgā $i saturs,
un pēc tam tiek veikts ++.
Ja mūsu mainīgais $i ir mazāks vai
vienāds ar 10, tad funkcija tiek izsaukta atkārtoti.
Tā kā mainīgais $i ir globāls,
tad katrā jaunā funkcijas izsaukumā tajā
būs iepriekšējā izsaukumā iestatītā mainīgā
$i vērtība.
Izrādīsies, ka funkcija izsauks pati
sevi līdz brīdim, kad $i kļūs
lielāks par 10.
Ņemiet vērā, ka mūsu gadījumā nevar palaist funkciju
bez if - ja to izdarītu,
tad iegūtu bezgalīgu funkciju izsaukšanu.