PHP-те рекурсиямен жұмыс

Бағдарламалада мынадай түсінік бар, рекурсия - бұл функцияның өзін-өзі шақыруы. Мысал арқылы қарастырайық. Рекурсия көмегімен 1-ден 10-ға дейінгі сандарды шығарайық:

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