Php Fonksiyonları

PHP fonksiyon kullanımı

PHP’nin kendi içinde yüzlerce fonksiyonu vardır. Diğer derslerde gördüğümüz isset()empty()unset() gibi. Fonksiyon oluşturmak ve kullanmak gayet basit, ama basit olduğu gibi derin konuları da var.

İlk önce nasıl bir fonksiyon oluşturacağımızı gösterelim:

function selamla(){
    echo "Selam";
}

Yukarıda selamla() adında fonksiyon oluşturduk. Bu şekilde bir kodu çalıştırsak ekrana bir çıktı vermez. Çünkü şuan sadece bir fonksiyon tanımladık, içine yazılan kodların çalışması için o fonksiyonu çağırmamız gerekiyor.

Hemen bu fonksiyonun altına selamla(); yazacak olursak eğer, işte o zaman ekranda Selam yazar.

Örneğin:

function sayilar() {
    for($sayi = 0; $sayi<10; $sayi++) {
        echo $sayi;
    }
}
sayilar(); // Oluşturduğumuz fonksiyonu çağıralım

Ekranda 0123456789 yazacaktır.

PHP fonksiyonlara parametre ekleme

Yukarıdaki örnekte yaptığımız fonksiyonlar dışarıdan veri almadan, her seferinde çağrıldıklarında aynı şeyi çalıştıracak olan fonksiyonlardı. Ama şimdi bu fonksiyonlara bir kaç parametre eklettirerek farklı kullanımlara kapılarını açabiliriz.

Örneğin:

function topla($sayi1, $sayi2) {
   $sonuc = $sayi1 + $sayi2;
   echo $sonuc;
}
topla(5, 10);

Şimdi topla adında bir fonksiyon oluşturduk ve buna 2 adet parametre ekledik. $sayi1 ve $sayi2 parametreleri bizim o fonksiyonu kullanırken yazacağım değerlerin yükleyeceği değişkenlerin adı.

Biz topla(5, 10) dediğimizde fonksiyon içinde $sayi1 değişkeninin değeri 5, $sayi2 değişkeninin değeri ise 10 olacak. Ve ekranda da 15 yazacaktır.

Örneğin:

function bolunurmu($bu_sayi, $bu_sayiya) {
   $kalan = $bu_sayi % $bu_sayiya;
   if($kalan == 0) {
      echo $bu_sayi . ' sayısı ' . $bu_sayiya . ' sayısına bölünür!';
   } else {
      echo $bu_sayi . ' sayısı ' . $bu_sayiya . ' sayısına bölünmez! (kalan: '.$kalan.')';
   }
}
bolunurmu(10, 2);
bolunurmu(25, 10);

İki rakamın birbirine bölünüp bölünmediğini kontrol eden bir fonksiyon yaptık. Ve bu fonksiyonu 2 farklı değerde kullanıp çağırdık. Bu çalışmanın sonunda ekranda yazacak olanlar:

10 sayısı 2 sayısına bölünür!
25 sayısı 10 sayısına bölünmez! (kalan: 5)

Parametrelere varsayılan değer verme

Parametreli bir fonksiyon yaptığımızda sorunsuz çalışabilmesi için tüm parametrelerin girilmesi gerekir. Mesela yukarıda verdiğimiz topla fonksiyonunu topla(1); şeklinde çalışmaya kalktığımızda PHP hata verecektir.

Çünkü fonksiyonu 2 tane parametre ile çalışmak üzere tasarladık. Ama bu durumlara bir istisna sağlayarak parametrelerimize varsayılan değer atayıp, parametresiz de çalışmalarını sağlayabiliriz.
Örneğin:

function hosgeldin($isim = 'Misafir') {
   echo 'Hoşgeldin ' . $isim . ' ! ';
}
 
hosgeldin();
hosgeldin('Php');

Örnekte hosgeldin() fonksiyonunu ilk olarak parametresiz, ikinci olarak da parametreli çalıştırdık. Bu durumda fonksiyonun parametresini tanımladığımız yerde hosgeldin($isim = ‘misafir’) şeklinde parametreye varsayılan değer atadığımız için boş bıraktığımızda o parametreye bu değeri verecektir. Yani ekranın çıktısı aşağıdaki gibi olacaktır:

Hoşgeldin Misafir !
Hoşgeldin Php !

Return ifadesi ile sonucu atama

Yukarıda yaptığımız tüm örneklerde fonksiyon sonuçları echo ile ekrana yazdırdık. Peki ya biz fonksiyonlardan elde ettiğimiz sonuçları ekrana yazdırmak değilde bir değişkene atayıp kullanmak istiyorsak? İşte o zaman return ifadesini kullanacağız.

Return ifadesi ile fonksiyon içinde elde ettiğimiz sonucu dışarıya aktarırız. Örneğin:

function topla($sayi1, $sayi2) {
   $sonuc = $sayi1 + $sayi2;
   return $sonuc;
}
 
$hesap = topla(10, 20);
echo 'Fonksiyon ile toplama yaptık ve sonuç: ' . $hesap;

İşte yukarıdaki örnekte gördüğün gibi bu sefer aynı topla() fonksiyonu ile echo yerine return yazdık. Bu da fonksiyonun sonucunu ona eşitlediğimiz bir değişkene atadı. Yani fonksiyon toplamayı yaptı ve sonucu $hesap değişkenine aktardı sonra biz onu echo ile ekrana yazdırdık.