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
$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.