Kısaca kendi kendini çağıran fonksiyona recursive (özyineli) fonksiyon denir. Recursive, fonksiyon yordamı içinde aynı fonksyionu yeniden çağırmak anlamına gelir.
Hemen bir örnekle açıklamaya çalışalım.
1 den x e kadar olan sayıların toplamını bulmak için şu fonksiyonu yazıyorum.
function toplam( $sayi )
{
if( $sayi == 1 )
{
return 1;
}
//Recursive Kısım
else
{
return $sayi + toplam($sayi – 1 );
}
}
Fonksiyona gönderdiğimiz sayı 1 olana kadar sürekli aynı fonksyion çağırılıyor ve o andaki sayi değeri toplanıyor ve sonuçta istediğimiz toplama ulaşmış oluyoruz.
Buna benzer şekilde recursive olarak faktöriyel hesabını da yapabiliriz.
function faktoriyel( $sayi )
{
if( $sayi == 1 || $sayi == 1 )
{
return 1;
}
//Recursive Kısım
else
{
return $sayi * faktoriyel($sayi – 1 );
}
}