რეკურსიასთან მუშაობა 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-ის გარეშე - თუ ეს გაკეთდება,
მიიღება ფუნქციების უსასრულო გამოძახება.