Работа з рэкурсіяй у 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
- калі гэта зрабіць,
то атрымаецца бясконцы выклік функцый.