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-сіз іске қосуға болмайды - егер
осылай жасалса, онда функциялардың шексіз
шақырылуы пайда болады.