Att arbeta med rekursion i PHP

Inom programmering finns det ett koncept som kallas rekursion - det är när en funktion anropar sig själv. Låt oss titta på ett exempel. Vi skriver ut talen från 1 till 10 med hjälp av rekursion:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // här anropar funktionen sig själv
    }
  }
  func();
?>

Låt oss diskutera hur den här koden fungerar.

Vi har en global variabel $i och en funktion func, inuti vilken innehållet i variabeln $i skrivs ut till konsolen, varefter ett ++ görs.

Om vår variabel $i är mindre eller lika med 10, anropas funktionen igen. Eftersom variabeln $i är global, kommer den att innehålla det värde som variabeln $i fick under föregående anrop vid varje nytt funktionsanrop.

Resultatet blir att funktionen kommer att anropa sig själv tills $i blir större än 10.

Tänk på att vi i det här fallet inte kan starta funktionen utan if - om vi gör det kommer det att resultera i ett oändligt antal funktionsanrop.