Kerja dengan Rekursi dalam PHP

Dalam pengaturcaraan, terdapat konsep yang dipanggil rekursi - ini ialah apabila fungsi memanggil dirinya sendiri. Mari kita lihat contoh. Mari keluarkan nombor 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 bincangkan bagaimana kod ini berfungsi.

Kami mempunyai pembolehubah global $i dan fungsi func, di dalamnya konsol memaparkan kandungan pembolehubah $i, dan kemudian ++ dilakukan.

Jika pembolehubah kami $i kurang daripada atau sama dengan 10, maka fungsi dipanggil semula. Oleh kerana pembolehubah $i adalah global, maka pada setiap panggilan fungsi baharu di dalamnya akan terdapat nilai pembolehubah $i yang ditetapkan pada panggilan sebelumnya.

Hasilnya, fungsi akan memanggil dirinya sendiri sehingga $i menjadi lebih besar daripada 10.

Perhatikan bahawa dalam kes kami, fungsi tidak boleh dijalankan tanpa if - jika ini dilakukan, panggilan fungsi tak terhingga akan terhasil.