Dallanma Komutları : if komutu (if şartı)

Dallanma komutları tüm programlama dillerinin temel taşlarındandır. Dallanma dediğimizde, herhangi bir yöne gitme olarak düşünebiliriz. Örneğin bir amaç için bir yolda ilerliyorsunuz ve yolun durumuna yada gideceğiniz yöne göre bir kavşağa geldiğinizde gideceğimiz yönü seçeriz İşte dallanma komutu dediğimiz şeylerde bir programda duruma göre işleyiş yönünü belirlemek için kullanılır. En çok kullanılan dallanma deyimi IF komutudur.

iF KOMUTU
Programın herhangi bir yerinde bazı şartlara göre programın akış yönünü değiştirmek için kullanılır. Akış yönünü belirlemek için if komutu ile bir şart belirlenir ve eğer bu şarta göre akış yönü belirlenir. Eğer şart doğru ise program bir yöne, şart doğru değil ise başka yöne giderek o duruma göre çalışması gereken komutları çalıştırır.

Mesela; bilgisayarınızın açılışına şifre koydunuz. Bunu amacı şifreyi bilmeyenlerin bilgisayarı kullanmasına izin vermemektir. İşte bu durumda illaki if komutu kullanılır. Peki nasıl çalışır dersek, şifre diyelim ki 123 olsun. Eğer kullanmak isteyen kişi şifreyi biliyorsa şifre kutusuna 123 yazar ve giriş dediğinde girilen şifreye göre program akışı bir yöne gider. Burada if komutu şifre ile sizin girdiğiniz şifreyi karşılaştırır ve girdiğiniz şifre 123 ise bilgisayarı açar ama eğer şifre 123 dışında birşey olarak girildi ise o zaman bilgisayarın açılışını sağlayan komutlar atlanarak şifre hatalı komutları çalışır ve bilgisayar açılmaz.

Kullanımı :
İf komutu kullanılırken şart belirtilmelidir.  Şartın sağlanma yada sağlanmama durumuna göre komutlar çalıştırılır. İf komutu şartın sonucuna göre çalışır ve kullanımı şu şekildedir;

if (şart)
   {
       şart doğru ise çalışacak komutlar;
   }

Parantez içerisindeki şart sağşanırsa kırlangıç parantezler arasındaki komutlar işler eğer şart sağlanmamışsa kırlangıç parantez arasında ne kadar komut olursa olsun atlanarak programa devam edilir. Şart kısmında kullanılan operatörler vardır. (Bu konuyu tekrar etmek için yada öğrenmek içinPhp’de operatörler konusuna bakın.)

Örnek

<?
   $sifre = "123456";
   if ($sifre == 123456)
      {
             echo "Şifreniz Doğru";
      }
?>

if olan satırda $sifre değişkeni içerisindeki değer ile 123456 değeri karşılaştırılıyor(== olduğu için) ve karşılaştırma sonucu doğru ise ekrana echo komutu ile “Şifre Doğru” bilgisi yazdırılıyor.  Eğer $sifre = 123456’dan farklı olsa idi kırlangıç parantezler arasındaki satırlar atlanarak işleme devam edilecekti.

Aklımıza şöyle bi soru gelebilir; peki şifre hatalı ise girilen şifrenin yanlış olduğuna dair bize bilgi verilmeyecek mi? Onu yapmak için şölye düşünebilirsiniz; madem şifre hatalı iken kırlangıç parantezler arası atlanıyor bir mesajda oraya yazdıralım ve işimize halledelim. Yani şu şekilde olsun;

<?
   $sifre = "123457";
   if ($sifre == 123456)
      {
             echo "Şifreniz Doğru";
      }
   echo "Girdiğiniz şifre hatalı";
?>

Yukarıdaki yapıyı incelersek $sifre değişkeni içerisine 123457 değeri atandı. Program aşağı doğru akarken if satırına gelince $sifre değişkeni içindeki değer ile 123456 değeri karşılaştırıldı (yani 123457 == 123456) ve sonuç olarak karşılaştırma hatalı çıktığı için kırlangıç parantezler arasındaki işlem atlandı ve ekrana Girdiğiniz şifre hatalı mesajı çıktı. Eee tamam işte istediğimiz oldu diye düşünürken peki şifre doğru olsa idi ne olurdu sorusu da kafamızı kurcalar mı bilmem ama birde onu inceleyelim.

<?
   $sifre = "123456";
   if ($sifre == 123456)
      {
             echo "Şifreniz Doğru";
      }
   echo "Girdiğiniz şifre hatalı";
?>

Evet şimdi şifremi doğru ve if ile karşılaştırma yapıldığında sonuçta doğru çıkacağı için normal olarak bu kez kırlangıç parantezler arasındaki komutlar çalışaca ve ekrana Şifreniz Doğru yazısı çıkacak. Buraya kadar herşey doğru ama if için gereken şartlar sağlanınca program çalışmasına devam edecek ve } parantesinden sonraki satırlar da bir şarta bağlı olmadığı için çalışacak ve ekrana yine Girdiğiniz şifre hatalı mesajıda yzılacak ve ekranda şu görüntü oluşacak :  Şifreniz DoğruGirdiğiniz şifre hatalı.Demek ki istediğimiz olmadı demektir bu. Peki ne yapacağız şimdi yani şifre hatalı ise ekrana sadece o bilgi yazılsın istiyoruz. İşte onun için kullanacağımız komutta if ama biraz ekleme yapacağız ve o eklemenin adı else.

if – else Komutu

if komutunun gelişmiş biçimidir. if ile kontrol edilen şart sağlanmazsa else komutundan sonra şart dışında birşeyler varsa işte o komutları çalıştırmaya yarar. Kullanımı;

<?
$sifre = "123456";
   if ($sifre == 123456)
      {
           echo "Şifreniz Doğru";
      }
   else
      {
           echo "Girdiğiniz şifre hatalı";
      }
?>

İşte burada if ile karşılaştırma yapılır ve sonuç doğru ise if altındaki kırlangıç parantez arasında bulunan komutlar çalıştırılır if’in } parantezine gelince else altındaki kırlangıç parantezler atlanarak yola devam edilir ama şart doğru değilse bu kez if altındaki kırlangıç parantezler atlanarak else’ye gelinir ve else altında bulunan kırlangıç parantezler arasındaki komutlar çalıştırılır. Bu durumda ekrana sadece Şifreniz Doğru mesajı yazılır. Eğer şifre bilgisi hatalı olsa idi bu kez ekrana Girdiğiniz şifre hatalı mesajı gösterilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir