php

if, elseif ve else kullanimi

PHP ile daha önce değişken tanımlamayı öğrenmiştik. Şimdi, bir programda if elseif gibi koşulların kullanılarak nasıl mantıklı denetleme yapılacağını öğreneceğiz.

Mantıksal denetleme nerelerde kullanılır? Örneğin bir kayıt formu, giriş formu, iletişim paneli vs gibi bir çok yerde oldukça sık kullanılır.

En basit mantıkla, mantıksal denetlemeyi şöyle tarif edebiliriz.

if( koşul veya koşullar )
{
Bu koşul veya koşullar doğru ise yapılacak olan işlemler.
}
else
{
Koşullar doğru değilse yapılacak olan işlemler.
}

Örnek olarak şöyle bir dosya hazırlayalım.

< ?PHP
$sayi = 95;
if($sayi > 42) //Eger sayi 42'den buyukse, hemen alt satirdaki islemleri gerceklestir.
{
echo "$sayi, 42'den büyüktür.";
}
else //Eger kosul saglanamiyorsa, hemen alt satirdaki islemleri gerceklestir.
{
echo "$sayi, belirtilen koşuldaki sayıdan büyük değildir.";
}
?>

Yukaridaki dosyayı deneme.php olarak kaydedip, tarayıcımızda çalıştırdığımız zaman; 95, 42′den büyüktür. çıktısını göreceğiz. Eğer, kod bloğundaki 42 rakamını 95ten daha büyük bir rakam yaparsanız bu sefer bir alt komut satırın çalıştığını farkedeceksiniz. Yukarıdaki mantıksal denetleme kodumuzda tek bir koşul belirttik, birden fazla koşul belirtmek and veya or bağlaçlarıyla olabilir.

Birden fazla koşul belirtme örneğimizi de hemen hazırlayalım.

< ?PHP
$sayi = 95;

if( ($sayi > 90) and ($sayi > 80) ) //Eger sayi 90'dan ve 80'den buyukse
{
echo "$sayi yukardaki koşullarda belirtilen her iki sayidan da büyüktür.";
}
else
{
echo "Koşullardan birisi veya ikisi de sağlanamamıştır.";
}
?>

Yukardaki kod bloğumuzu çalıştırdığımızda, if koşullarının sağlandığı için ilk satır kodun çalıştığını göreceğiz. Gördüğünüz gibi iki şartı, ‘ve’ anlamına gelen ‘and’ ile birleştirdik, ‘and’ yerine, ‘&&’ şeklinde de kullanabilirdik, bu da aynı anlama gelirdi.

Yukarıda yazılmış örneği, veya kalıbına, yani ‘or’ kullanarak bir koşul yazmayı siz deneyebilirsiniz. Bilginizi pekiştirmiş olursunuz. or yerine || şeklinde de kullanabilirsiniz, bu da aynı anlama gelmektedir.

Son olarak da elseif deyimine değinelim. Onun da yazım mantığı alttaki gibidir.

if( koşul veya koşullar )
{
koşul veya koşullar doğru ise yapılacak işlemler.
}
elseif( diğer koşul veya koşullar )
{
bu koşulların doğru olması durumunda yapılacak işlemler.
}
else
{
yukardaki koşulların hiçbirinin doğru olmaması halinde yapılacak işlemler.
}

PHP’de karşılaştırma denetlemesinde kullanılan işlemciler ve anlamlarından bazıları şöyledir.

== : eşitse
=== : aynı ise
!= : eşit değilse
< : küçükse
> : büyükse
< = : küçük veya eşitse
>= : büyük veya eşitse

Hiç durma, hemen paylaş ;-)

    20 Yorum

    1. murat

      11.17.2009

      Cevapla

      süper açıklama olmuş teşekkür ederim.

    2. Yunus

      11.20.2009

      Cevapla

      Gerçekten Güzel Bir Site Konu Anlatımlarına Diyecek Birşey Yok Zaten..Mükemmel

    3. Ahmet

      11.26.2009

      Cevapla

      Çok Güsel Bir Anlatım Teşekkür Ederim.

    4. Muhammed

      11.27.2009

      Cevapla

      teşekkürler…çok güzel açıklama olmuş…ellerinize sağlık…

    5. wusii

      12.07.2009

      Cevapla

      örnekteki sayı 90 ve 80 arasında ise ne olacak?mesela 85?

    6. KaLpSiZz

      12.11.2009

      Cevapla

      yaf saoLun ßenCede qüseL Bi acıqLama oLmus ama ben nıe Anlamıorm YHaa coq Zor qeLıo ßana Pff :S:S

    7. divx film izle

      01.02.2010

      Cevapla

      teşekkürler çok sade ve net olmuş

    8. TDK

      01.11.2010

      Cevapla

      KaLpSiZz rumuzlu arkadaşa ..

      Arkadaşım sen dengesizmisin?
      Bu nasıl bir konuşma tarzıdır? Tabiki tarz denilirise buna ..

      Bu nasıl bir düşünce ne saçma bir eylem ..Sen Türkçe’ne sahip çıkmazsan Türkiye’ne sahip çıkmazsan en başta sen , Atatürk’ün geleceği emanet etti bir Türk Genci sahip cıkmazsa halimiz cok vahim ..

    9. Nyph

      01.13.2010

      Cevapla

      KalpsiZz ‘ e:

      php’den önce belki de temel algoritma yazılımlarına kısaca göz atmanız faydalı olabilir. Burada yapılan işlemin özü o çünkü.

    10. dasha

      01.16.2010

      Cevapla

      KalpsiZz rumuzlu arkadaşımıza;

      aslında anlamaman gayet normal bence çünkü bu sitedeki dil ile senin kullandığın dil aynı değil bu siteden php yi öğrenebilmen için öncelikle TÜRKÇE’yi öğrenmen gerekir.

      • Programmer

        01.06.2011

        Cevapla

        KalpsiZz rumuzlu arkadaşımıza;
        Senin yazmış olduğun dildende ben anlamadım nedense türkçemizi yozlaştıran sen ve senin gibi kişileri gördükçe düşünüyorumda [Atalarımız] bu Ülkeyi Sizleremi Bıraktı Bu Konuda Özen Gösteren Programcı Arkadaşlarada Teşekkür Ederim

    11. Betül

      02.25.2010

      Cevapla

      ben PSPad de yapıyorum php’yi ama kodlar çalışmıyor,ekrena acayip acayip yazılar çıkıyor.Yardımcı olursanız sevinirim..

    12. baris

      04.26.2010

      Cevapla

      KaLpSiZz rumuzlu arkadaşa ..

      “yaf saoLun ßenCede qüseL Bi acıqLama oLmus ama ben nıe Anlamıorm YHaa coq Zor qeLıo ßana Pff :S:S”

      Nedense bende senin söylediklerini anlayamadım. Zaten bende case sensitive olayı var. Büyük küçük harfler yanyana geldiğinde döngüyü algılayamıyorum :)

    13. Hocam, acaba elseif ile if arasında ne fark vardır? Elseif nerede kullanılır, nerede kullanılmaz? Ben bunu tam anlayamadım. Açıklarsanız sevinirim.

      • Enes AKBULUT

        10.06.2010

        Cevapla

        if sadece tek koşulda çalışıyor. fakat elseif eğer koşul sağlanmadıysa başka bir koşulla işlemi devam ettirebilmek için kullanıyor.

    14. kemal

      11.01.2010

      Cevapla

      if($odemesekli == kredi-karti)
      {print”
      alert(‘Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfada Kredi kartınızla yapacağınız ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.’);
      window.location.href= ‘http://www.siteadi.com/xxx.php’;
      “;
      }
      elseif($odemesekli != kredi-karti)
      {
      print”
      alert(‘Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfadaki Banka Hesap Numaralarına ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.’);
      window.location.href= ‘http://www.siteadi.com/xxx.php’;
      “;
      }

      Hocam bu kod çalışmıyor nerede hata olabilir?

      • phpdili

        11.01.2010

        Cevapla

        Kod genelinde yazım yanlışları bulunuyor. Aşağıda yer alan haliyle çalışması gerekir;

        if($odemesekli == 'kredi-karti')
        {
        echo "
        alert('Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfada Kredi kartınızla yapacağınız ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.');
        window.location.href= 'http://www.siteadi.com/xxx.php';
        ";
        }
        elseif($odemesekli != 'kredi-karti')
        {
        echo "
        alert('Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfadaki Banka Hesap Numaralarına ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.');
        window.location.href= 'http://www.siteadi.com/xxx.php';
        ";
        }
        
      • erdalTes

        11.24.2010

        Cevapla

        2. şart niyeki zaten başka bi seçenek yoksa koşul gerekmez

        else if($odemesekli != kredi-karti)
        

        yerine sadece

        else 
        

        yapman yeterli.

    15. Sinan

      02.16.2013

      Cevapla

      Merhaba bu konu ile ilgili bir sorum olacaktı.Acaba if kullanımının fazla olması sunucuyu/hostingi çok fazla kasar mı zararı varmıdır?

    16. Muhammed

      03.30.2013

      Cevapla

      Güzel açıklama aMa ilk örnekte 2. örnekte parantez koymamışın hat averıyo duzeltırsın. k.gelsın

    Bir Cevap Yazın