Práce s rekurzí v PHP
V programování existuje pojem
rekurze - to je když funkce volá
sama sebe. Podívejme se na příklad.
Vypišme pomocí rekurze čísla od 1
do 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // zde funkce volá sama sebe
}
}
func();
?>
Pojďme diskutovat o tom, jak tento kód funguje.
Máme globální proměnnou $i
a funkci func, uvnitř které se do konzole
vypisuje obsah proměnné $i,
a poté se provede ++.
Pokud je naše proměnná $i menší nebo
rovna 10, je funkce volána znovu.
Protože proměnná $i je globální,
při každém novém volání funkce v ní
bude hodnota proměnné $i nastavená při předchozím volání.
Výsledkem bude, že funkce bude volat sama
sebe, dokud $i nebude
větší než 10.
Mějte na paměti, že v našem případě nelze funkci
spustit bez if - pokud to uděláte,
vznikne nekonečné volání funkcí.