• 08-02-2008, 08:59:22
    #1
    Kurumsal PLUS
    Öncelikle if ve else nedir onu açıklayayım.

    IF, Türkçesi "eğer", else ise Türkçesi "değilse" olan kelimelerdir.

    Bu ikili PHP'nin vazgeçilmezleridir.

    Örnek vermek gerekirse,
    $a = 1; // örnek değişkenimizi tanımlayalım
    if($a == 1) { //eğer $a'nın değeri 1 ise
    echo "Evet, a'nın değeri 1'e eşittir.";
    } else { // değilse
    echo "Hayır, a'nın değeri 1'e eşit değil.";
    }


    Peki bunu anladık, ya işler biraz daha karışırsa ne olacak? Birden çok koşul veya değere birden çok tanımlama gerekirse ne olacak?


    Bunun da cevabı çok zor değil.

    $a = 1; // örnek değişkenimizi tanımlayalım
    $b = 2; // örnek değişkenimizi tanımlayalım
    $c = 3; // örnek değişkenimizi tanımlayalım
    
    if(($a == 1) || ($b == 1)) { // eğer $a veya $b 1'e eşitse, || ile veya sağladık
    echo "Tamam."; // koşul sağlandı.
    }
    
    if(($a == 1) && ($b == 1)) { // eğer $a ve $b 1'e eşitse, && ile ve sağladık
    echo "Tamam."; // koşul sağlanmadı($b eşit değildir 1), işlem yapılmayacak
    }
    
    if(($a == 1) && ($c != 5)) { // eğer $a 1'e eşitse ve $c 5'e eşit değilse
    echo "Tamam."; // koşul sağlandı.
    }
    Örneklerden de anlayacağınız gibi, eşitlik koşulunu belirtirken == kullanıyoruz, eşit olmama koşulunu belirtirken ise != kullanıyoruz. Buna dikkat edilmeli, if koşullarında çift eşittir işareti(eşitlik koşulu) veya ünlemle birlikte eşittir işareti(eşit olmama koşulu) kullanılır.

    Peki ya aynı değişkenin farklı değerleri için işlem yapmak gerekirse?
    İşte bu noktada, işin içine "else if" komutu giriyor.

    if($a < 5) { //$a 5'den küçükse
    echo "a, 5'den küçük.";
    } else if(($a >=5) && ($a < 10)) { //$a 5'den büyük ya da 5'e eşitse ve 10'dan küçükse
    echo "a, 5'den büyük ya da 5'e eşit ve 10'dan küçük.";
    } else { //eğer $a, yukarıdaki koşullara uymuyorsa, yani bu örneğe göre 10'dan büyükse
    echo "a, 10'dan büyük";
    }
    Burada dikkat edilmesi gereken şey şu, else if kullandığınızda döngünüzü else ile bitirmelisiniz, yani hiçbir koşul sağlanmadığında ne olacağını da belirtmelisiniz.

    Not:
    İlk makalemde değişken tanımlamaktan bahsetmiştim. Eğer okuduysanız hatırlayacağınız gibi sayılar için tırnak kullanmıyoruz. Eğer sayı değil de metin eşitliği yapıyorsanız tırnak kullanmalısınız. Örnek tanımlama:
    if($a == "cihan") {
    echo "cihan.";
    }
    İşinize yarayabilecek 2 kod:
    if(isset($_GET['id'])) { //eğer url'de id varsa, örneğin index.php?id veya index.php?id=2
    echo "tanımlanmış";
    }
    
    if(!isset($_GET['id'])) { //eğer url'de id yoksa
    echo "tanımlanmamış";
    }
    
    if(is_numeric($a)) { //eğer $a değeri sayısal bir değerse
    echo "sayısal";
    }
    
    if(!is_numeric($a)) { //eğer $a değeri sayısal bir değer değilse
    echo "sayısal değil";
    }
    If/Else ile ilgili aklıma gelenler bunlar, takıldığınız bir yer olursa buraya yazın, elimden geldiği kadar cevaplamaya çalışırım.
  • 08-02-2008, 09:39:30
    #2
    Üyeliği durduruldu
    bartuc çok sağol konu için
    senin başka bir konunda buna benzer çok bocalamıştım.
    baktım kimseden ses çıkmıyor ben de if , else , isset(), unset(), leri kurcalayıp öğrendim. şimdi bu konunu baştan sona okudum. bugün tekrar if ve else lere bakacağım.
    tekrar sağol ..
  • 08-02-2008, 10:00:49
    #3
    Kurumsal PLUS
    bu konuda sadece if/else mantığını anlatmaya çalıştım. tabiki if/else kullanımı bunlarla sınırlı değil. mantığı anladıktan sonra çok değişik yerlerde, çeşitli amaçlarla if/else kullanılır. dediğim gibi bir scriptte olmazsa olmaz kodlardır.
  • 08-02-2008, 12:53:36
    #4
    Üyeliği durduruldu
    sen bi tanesin Bartuc ))
  • 08-02-2008, 16:39:51
    #5
    güzel paylaşım olmuş php denildiğinde ilk aklıma gelen şeyler if sadece php ye özel bişi değil ama...
    emeğine sağlık
  • 23-05-2008, 02:21:21
    #6
    sgl cok ii
  • 23-05-2008, 16:16:42
    #7
    güzel anlatım sayende öğrenmiş olduk teşekkürler
  • 27-05-2008, 13:27:14
    #8
    Merhaba

    Ilk basladigim zamanlar, IF-ELSE'nin su kisaltma metodunu hep karistirirdim. Paylasmak istedim. Cok kisa, cok guzel. Herhangi bir kiyas yapip echo ile yazdirirken, su sekilde kullanmak bu cok kisa kod ile mumkun.

    echo ($degisken==1 ? "tamam" : "degil");
    bu kod $degisken degeri 1'e esitse "tamam", esit degilse "degil" yazdiriyor.

    uzun yazimi su sekilde

    if ($degisken==1) echo "tamam";
    else echo "degil";
    aslinda bu yukaridaki, IF den veya ELSE den sonra tek satir betik geldigi icin biraz kisa. asil daha uzun olan orjinal kod guzel parantezleri de iceren sekilde soyle yazilabilir.

    if ($degisken==1) {
     echo "tamam";
     // baska yapilacak isler varsa devam eder
    }
    else {
     echo "degil";
     // baska yapilacak isler varsa devam eder
    }
    Selim Dogan
  • 06-06-2008, 21:02:00
    #9
    Elseif' ide unutmayalım