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
$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.