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