PHP-de rekursiýa bilen işlemek
Programmirlemede rekursiýa diýen düşünje bar - bu funksiýanyň özüni çağyryşy. Mysal üçin seredeli.
1-den 10-a çenli sanlary rekursiýa ýardamynda çap edeli:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // bu ýerde funksiýa özüni çağyrýar
}
}
func();
?>
Geliň, bu kodunyň nähili işleýändigini görüşeli.
Bizde $i global üýtgeýjisi we
func funksiýasy bar, onuň içinde konsola
$i üýtgeýjisiniň mazmuny çap edilýär,
soňra bolsa ++ amaly ýerine ýetirilýär.
Eger $i üýtgeýjimiz 10-dan kiçi ýa-da
deň bolsa, funksiýa gaýtadan çağyrylýar.
$i üýtgeýjisi global bolany üçin,
funksiýanyň her täze çağyrylyşynda onda
öňki çağyryşda berlen $i
üýtgeýjisiniň bahasy boljak.
Funksiýa $i 10-dan uly bolýança
özüni çağıryp durar.
Ýatda saklaň, bizim mysalynda funksiýany
if sözçügini ulanmaksyz işletmek bolmaz - eger muny etsek,
çäkli däl funksiýa çağyryşlary alarys.