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