PHP-də Rekursiya ilə Iş

Proqramlaşdırmada rekursiya anlayışı var - bu, funksiyanın özünü çağırmasıdır. Gəlin bir nümunəyə baxaq. Rekursiyadan istifadə edərək 1-dən 10-a qədər rəqəmləri çap edək:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // burada funksiya özünü çağırır
    }
  }
  func();
?>

Gəlin bu kodun necə işlədiyini müzakirə edək.

Bizim qlobal $i dəyişənimiz və func funksiyamız var, onun daxilində konsola $i dəyişəninin məzmunu çap olunur, sonra isə ++ edilir.

Əgər bizim $i dəyişənimiz 10-dan kiçik və ya bərabərdirsə, onda funksiya təkrarən çağırılır. $i dəyişəni qlobal olduğu üçün, hər yeni funksiya çağırışında onda əvvəlki çağırışda təyin olunmuş $i dəyişəninin dəyəri olacaq.

Belə çıxır ki, funksiya $i 10-dan böyük olana qədər özünü çağıracaq.

Nəzərə alın ki, bizim vəziyyətimizdə funksiyanı if olmadan işə salmaq olmaz - əgər bu edilsə, sonsuz funksiya çağırışları alınar.