İç İçe Fonksiyonun (Recursive Function) PHP’de kullanımı
Selamün Aleyküm Arkadaşlar;
Fonksiyonun içinde işlem bitene kadar, tekrar tekrar o fonksiyonu çağırabiliriz. Bu işleme iç içe fonksiyon (recursive function) denir.
Örnek olarak bir faktoriyel işlemini for döngüsüyle değilde, iç içe fonksiyonla yapalım.
function faktoriyel($n) { if($n==0) return 1; else return $n * faktoriyel($n-1); } echo faktoriyel(5);
Burada $n değişkeni sıfırdan farklı olduğu sürece döner. faktoriyel fonksiyonunu çağırır.
Adım adım işleme bakacak olursak:
return $n * faktoriyel($n-1) //5 * faktoriyel(4) return $n * faktoriyel($n-1) //faktoriyel(4) = 4 * faktoriyel(3) return $n * faktoriyel($n-1) //faktoriyel(3) = 3 * faktoriyel(2) return $n * faktoriyel($n-1) //faktoriyel(2) = 2 * faktoriyel(1) return $n * faktoriyel($n-1) //faktoriyel(1) = 1 * faktoriyel(0) return faktoriyel(0)=1 //$n==0 olduğundan geriye 1 değerini döndürerek fonksiyonunu bitirir. //return 5*4*3*2*1*1
Başka bir örnek olarak bir dizinin içinde olan değeri yazdıralım.
$dizi=array( array( array( array( array( array( array( array( array( array( array( 'Merhaba Dünya!' ) ) ) ) ) ) ) ) ) ) ); function dizideger($dizi) { foreach ($dizi as $deger) { if(is_array($deger)) return dizideger($deger); else return $deger; } } echo dizideger($dizi); //Ekran çıktısı Merhaba Dünya!
Hayırlı günler, sağlıcakla kalın.
Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.