Bu makalemizde PHP’de if-else, switch-case yapılarını inceleyeceğiz.
Önce if-else yapısını bir örnek üzerinde inceleyelim.
- <?php
- $sayi = 10;
- if($sayi == 10){
- echo "Dogru";
- }
- else{
- echo "Yalnis";
- }
- ?>
if-else yapısı diğer programlama dillerindekine benzer şekilde oluşturulmaktadır.
IF-ELSE yapısındaki koşul operatörlerine göz atalım.
$x == $y
|
$x’in değeri, $y’nin değerine eşit mi kontrol eder
|
$x === $y
|
$x, $y’ye eşit mi kontrol eder
|
$x != $y
|
$x’in değeri, $y’nin değerine eşit değil mi kontrol eder
|
$x <> $y
|
$x’in değeri, $y’nin değerine eşit değil mi kontrol eder
|
$x !== $y
|
$x, $y’ye eşit değil mi kontrol eder.
|
$x < $y
|
$x’in değeri $y’nin değerinden küçük mü kontrol eder.
|
$x > $y
|
$x’in değeri $y’nin değerinden büyük kontrol eder.
|
$x <= $y
|
$x’in değeri $y’nin değerinden küçük eşit mi kontrol eder.
|
$x >= $y
|
$x’in değeri $y’nin değerinden büyük eşit mi kontrol eder.
|
Burada, birçok programlama dilinde olmayan bir koşul ifadesi söz konusudur : ===
Bunu basit bir örnekle inceleyelim: Değişkenlerle sayı oluşturalım ve bu sayıların değerlerini karşılaştırıp sonuçlarına göre === ne anlama geliyor daha iyi kavrayalım.
İlk örneğimiz:
- <?php
- $sayi = 10;
- $sayi2 = 10;
- if($sayi == $sayi2){
- echo("Esit");
- }
- else{
- echo("Esit Degil");
- }
- ?>
Tamsayı tipinde iki değişken oluşturduk ve bunların == ile karşılaştırmasını yaptık. Çalıştırdığımızda aşağıdaki sonuç ortaya çıkacaktır.
Şimdi bu değişkenleri === ile karşılaştıralım.
- <?php
- $sayi = 10;
- $sayi2 = 10;
- if($sayi === $sayi2){
- echo("Esit");
- }
- else{
- echo("Esit Degil");
- }
- ?>
Çalıştırdığımızda ekran çıktısı aşağıdaki gibi olacaktır.
Değişkenlerimizin tipi de değerleri de aynı olduğu için iki örneğimizde de “Esit” sonucu ekrana gelmiştir. Şimdi kodumuzu şu şekilde düzenleyip == ile karşılaştırma yapalım:
- <?php
- $sayi = 10;
- $sayi2 = "10";
- if($sayi == $sayi2){
- echo("Esit");
- }
- else{
- echo("Esit Degil");
- }
- ?>
Örneği incelediğimizde, $sayi1 ve $sayi2 değişkenlerinin türleri farklı (int, string) fakat değerleri aynı. Yukarıdaki tabloda dikkat ettiyseniz == için değerlerini karşılaştırıyor demiştik. Kodumuz bu şekildeyken çalıştırdığımızda aşağıdaki ekran çıktısını alacağız çünkü iki değişkenin de değeri 10’dur.
Şimdi aynı örneği === ile çalıştıralım.
- <?php
- $sayi = 10;
- $sayi2 = "10";
- if($sayi === $sayi2){
- echo("Esit");
- }
- else{
- echo("Esit Degil");
- }
- ?>
Ekran çıktısı aşağıdaki gibi olacaktır.
Sonucun böyle gelmesinin nedeni, ===’in tiplerin eşitliğini de kontrol etmesidir. İki değişkenin değerleri aynı fakat tipleri farklı olduğu için “Esit Degil” sonucu ekranda yazmıştır.
Şimdi bir diğer koşul ifadesi olan switch-case’e ve if-else yapısında else-if’in kullanıma bir arada göz atalım.
Örneğin içeri gelen bir kişinin ismine göre kim geldiyse onun geldiğini ekranda yazan bir işlem yapalım. Bunu önce if-else bloklarıyla yapalım:
- $isim = "veysel";
- if($isim == "veysel"){
- echo("veysel geldi");
- }
- else if($isim == "ugur"){
- echo("ugur geldi");
- }
- else if($isim == "engin"){
- echo("engin geldi");
- }
- else{
- echo("kim geldi?");
- }
if ve else if’lerdeki koşullara uyan varsa uyan bloğu çalıştırıp başkasına bakmadan çıkar. Eğer hiçbir koşuş uymuyorsa else bloğu çalışacaktır.
Şimdi aynı örneği switch-case ile yapalım:
- $isim = "veysel";
- switch($isim){
- case "veysel":
- echo "veysel geldi";
- break;
- case "ugur":
- echo "ugur geldi";
- break;
- case "engin":
- echo "engin geldi";
- break;
- default:
- echo "kim geldi";
- break;
- }
Switch-case yapısında ise switch(değişken), case’in yanında ise değişkenin karşılaştırılacağı değerler yazılıp kontrol yapılır. IF-ELSE ile benzer yapıda çalışmaktadır.
Bir sonraki makalemizde PHP’de döngülere göz atacağız.
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi