Trabalhando com recursão em PHP

Na programação, existe um conceito chamado recursão - é quando uma função chama a si mesma. Vamos ver um exemplo. Vamos exibir números de 1 a 10 usando recursão:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // aqui a função chama a si mesma
    }
  }
  func();
?>

Vamos discutir como este código funciona.

Temos uma variável global $i e uma função func, dentro da qual no console é exibido o conteúdo da variável $i, e então é feito um ++.

Se nossa variável $i for menor ou igual a 10, a função é chamada novamente. Como a variável $i é global, em cada nova chamada da função, ela terá o valor definido na chamada anterior da variável $i.

Isso fará com que a função continue chamando a si mesma até que $i se torne maior que 10.

Observe que, no nosso caso, não é possível executar a função sem o if - se isso for feito, resultará em uma chamada infinita de funções.