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 сүзсүз чакырууга болбойт - эгерде
муну кылсак, анда функциялардын чексиз
чакырылышы пайда болот.