Bekerja dengan Rekursi di PHP

Dalam pemrograman, ada konsep yang disebut rekursi - ini adalah ketika suatu fungsi memanggil dirinya sendiri. Mari kita lihat contohnya. Tampilkan angka dari 1 hingga 10 menggunakan rekursi:

php<?php
  $i = 1;
  
  function func()
  {
    global $i;
    
    echo $i;
    $i++;
    
    if ($i <= 10){
      func(); // di sini fungsi memanggil dirinya sendiri
    }
  }
  func();
?>

Mari kita bahas bagaimana kode ini bekerja.

Kami memiliki variabel global $i dan fungsi func, di dalamnya di konsol ditampilkan isi variabel $i, dan kemudian dilakukan ++.

Jika variabel kami $i kurang dari atau sama dengan 10, maka fungsi dipanggil kembali. Karena variabel $i - global, maka pada setiap pemanggilan fungsi baru di dalamnya akan terdapat nilai variabel $i yang ditetapkan pada pemanggilan sebelumnya.

Hasilnya, fungsi akan memanggil dirinya sendiri sampai $i menjadi lebih besar dari 10.

Perhatikan, bahwa dalam kasus kami fungsi tidak bisa dijalankan tanpa if - jika ini dilakukan, maka akan terjadi pemanggilan fungsi yang tak terbatas.