Работа з рэкурсіяй у PHP
У праграмаванні ёсць такое паняцце, як
рэкурсія - гэта калі функцыя выклікае
сама сябе. Давайце паглядзім на прыкладзе.
Выведзем з дапамогай рэкурсіі лікі ад 1
да 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // тут функцыя выклікае сама сябе
}
}
func();
?>
Давайце абгаворым, як працуе гэты код.
У нас ёсць глабальная зменная $i
і функцыя func, унутры якой у кансоль
выводзіцца змест зменнай $i,
а затым робіцца ++.
Калі наша зменная $i меншая або
роўная 10, то функцыя выклікаецца паўторна.
Паколькі зменная $i - глабальная,
то пры кожным новым выкліку функцыі ў ёй
будзе зададзенае пры папярэднім выкліку значэнне
зменнай $i.
Атрымаецца, што функцыя будзе выклікаць сама
сябе да таго часу, пакуль $i не стане
больш за 10.
Улічце, што ў нашым выпадку нельга функцыю
запусціць без if - калі гэта зрабіць,
то атрымаецца бясконцы выклік функцый.