PHP Fonksiyonlar

Bu dersimizde her programlama dilinde hayat kurtaran fonksiyonları PHP dilinde inceleyeceğiz.

Fonksiyonlar bir program içerisinde birden fazla kez kullanılacak belirli işlemleri tek bir kod blokuyla yerine getirmek üzere yazılmış kod blokları dır. Örneğin bir toplama işlemini programımız içerisinde onlarca kez uygulayacaksak her seferinde aynı işlemi yapmak için aynı kodları yazma ihtiyacı duyarız. Ancak  bu toplama işlemi için bir fonksiyon yazarsak işlemleri tekrarlamaktan kurtuluruz.

Fonksiyon tanımlamak için sözdizimimiz şu şekilde olacaktır;

function fonksiyonAdi(){buraya fonksiyon çağrıldığında çalışacak kodlar yazılır}

Oluşturduğumuz fonksiyonu çağırmak için ise fonksiyon adını yazıp parantez açıp kapatılır ve noktalı virgülle satır sonlandırılır: fonksiyonAdi();

Fonksiyonlar 4′ e ayrılır;

  1. Parametre almayan, geriye değer döndürmeyen fonksiyonlar,
  2. Parametre alan, geriye değer döndürmeyen fonksiyonlar,
  3. Parametre almayan, geriye değer döndüren fonksiyonlar,
  4. Parametre alan, geriye değer döndüren fonksiyonlar dır.

Şimdi isterseniz bu fonksiyon tiplerini teker teker inceleyelim;

1- Parametre Almayan, Geriye Değer Döndürmeyen Fonksiyonlar:

Parametre almaya geriye değer döndürmeyen fonksiyonlarda, fonksiyon sadece çağrılır ve fonksiyon kendi içerisindeki işlemi yapar, ardından sonlanır. Geriye herhangi bir değer döndürmez. Örneğin bir toplama işlemini yapan fonksiyon yazalım ve fonksiyonu her çağırdığımızda bize 3 ve 2 sayısını toplayıp ekrana yazdırsın;

Birinci satırda “function” anahtar kelimesi ile bir fonksiyon başlatacağımızı belirttik. Ardından fonksiyon ismimiz olan “topla()” yazdık ve küme parantezi açtık. Bu küme parantezi içerisine ise fonksiyonumuzu çağırdığımızda çalışacak kodları yazdık. Artık her “topla()” yazdığımız yerde fonksiyonumuz  3 ile 2 sayısını toplayıp ekrana (5) yazdıracaktır. Biz bu fonksiyona herhangi bir parametre (değer) göndermedik ve fonksiyon da bize geriye değer döndürmedi.

Şimdi ise 2. fonksiyon tipimiz olan parametre alan, geriye değer döndürmeyen fonksiyonumuza bakalım.

2- Parametre Alan, Geriye Değer Döndürmeyen Fonksiyonlar:

Parametre alan, geriye değer döndürmeye fonksiyonumuzda, fonksiyonu çağırırken bir değer göndererek çağırırız. Fonksiyon bu değerleri alır, kendi içerisinde işleme tabi tutar ancak geriye değer döndürmez.

Bu tipte bir fonksiyonu tanımlarken, fonksiyon isminin parantezleri arasına gönderdiğimiz değeri tutacak değişkenler yazılır: function topla($sayi1, $sayi2){

Fonksiyona kaç adet değer göndereceksek, o kadar değişken tanımlanır.

Örneğin fonksiyona iki adet sayı gönderelim ve fonksiyon bu sayıları toplayıp ekrana yazdırsın;

Yukarıda gördüğünüz üzere fonksiyon tanımlarken fonksiyon adı parantezleri içerisine iki adet değişken tanımladık. Fonksiyon parantezleri içerisinde ise bu iki değişkeni toplayıp ekrana yazdırdık. Dördüncü satırda ise fonksiyonu çağırdık. Yalnız bu kez fonksiyonu çağırırken parantezler içerisine iki adet parametre ekledik. Yani kısaca özetleyecek olursak topla(7,5); kodu ile topla fonksiyonuna iki adet sayı gönderdik. Fonksiyonumuz bu sayılardan ilkini $sayi1 değişkenine, ikincisini ise $sayi2 değişkenine atadı ve küme parantezi içerisine girdi. Küme parantezi içerisindeki kodu çalıştırıp ekrana bu iki sayının (5 ile 7) toplamını (12) yazdırdı. Artık fonksiyonu her çağırdığımızda bu işlem gerçekleşecektir.

3- Parametre Almayan, Geriye Değer Döndüren Fonksiyonlar:

Parametre almayan ancak geriye değer döndüren fonksiyonlarda, fonksiyon çağırırken fonksiyona herhangi bir değer gönderilmez ancak geriye değer döndürmesi beklenir. Bir fonksiyonun geriye değer döndürebilmesi için fonksiyon içerisinde yapılan işlemin sonunda return ifadesi kullanılır.

Görüldüğü üzere fonksiyonu çağırırken parametre göndermedik. Fonksiyon kendi içerisindeki işlemi yaptı ve return ifadesi sayesinde işlem sonucunu alıp $sonuc değişkenine atadık. Ardından $sonuc değişkeni değerini ekrana bastırdık.

4- Parametre Alan, Geriye Değer Döndüren Fonksiyonlar:

Bu tip fonksiyonlarda fonksiyon hem parametre alır, hem de geriye değer döndürür.

Örnek olarak topla fonksiyonuna iki sayı gönderelim, fonksiyonumuz bu sayıları toplasın ve sonucu bize geri göndersin. Biz de dönen sonucu $sonuc değişkenine atayalım;

Görüldüğü üzere fonksiyona iki adet sayı gönderdik. Fonksiyonumuz bu sayıları aldı, kendi içerisinde toplama işlemine tabi tuttu ve çıkan sonucu return ifadesi ile bize geri gönderdi. Biz de dönen sonucu $sonuc değişkenine atadık ve ardından $sonuc değişkeni değerini ekrana yazdırdık.

Şimdi bir de örnek olarak şöyle bir program yazalım;

Biz fonksiyona bir sayı gönderelim, fonksiyonumuz bu sayının faktoriyelini alsın ve çıkan sonucu bize geri göndersin;

Yukarıdaki kodda ne yaptık?

Bilindiği üzere bir sayının faktoriyeli 1’den kendisine kadar olan sayıların çarpımına eşittir. Örnek olarak 6 sayısının faktoriyeli 6*5*4*3*2*1 = 720 yapar.

Biz fonksiyonumuzu tanımlarken, fonksiyon adı parantezi içerisine göndereceğimiz değeri tutacak “$sayi” adında bir değişken tanımladık: faktoriyel($sayi)

Ardından fonksiyon küme parantezi içerisinde bir for döngüsü oluşturduk. Önce $i adında değişken tanımlayıp değişkene gönderdiğimiz $sayi değerinin bir eksiğini atadık: $i = $sayi-1;

Döngümüzün $i değeri 1’den küçük oluncaya kadar dönmesini sağladık: $i > 1;

Her döngüde $i değişkeninin bir sayı düşmesini sağladık: $i–

Döngü parantezi içerisinde, her döngüde $sayi değişkenini $i değişkeniyle çarpıp, çıkan sonucu tekrar $sayi değişkenine atadık: $sayi = $sayi * $i;

Döngümüz sona erince $sayi değişkenini return komutu ile fonksiyonu çağırdığımız yere gönderdik: return $sayi;

Fonksiyona 6 sayısını gönderdik ve yukarıdaki işlemler oluştu: echo faktoriyel(6);

Fonksiyon bize 720 sayısını döndürdü ve bu sayıyı ekrana yazdık.

Yorum Yap