PHP

if($deger==7) ya da if(7==$deger)

Eğer dikkat ettiyseniz bazı yazılımcılar bizim if($deger==7) olarak kullandığımız kodun tersini kullanıyorlar. Acaba merak ettiniz mi ne farkı var diye?

Öncelikle bu tarz “if(7==$deger) ya da if($deger==7)” bu yazımın kaynağı C dilidir. = işareti ile atama, == işaretleri ile de eşit mi karşılaştırması yapılır.

Yazılımcılar özellikle çok satırlı kodlar yazarken dalgınlıkla == işaretleri yerin = işareti kullanabiliyorlar. Bu da küçük gibi görünen ama büyük bir mantık hatasına sebep olabiliyor. Bunları örnek üzerinde inceleyelim.

 

Yukarıdaki kod parçasında, normalde kullandığımız yazım biçimiyle karşılaştırma yaparak ekrana çıktı ürettirmeye çalıştık. Peki $değer == 7 yerine yanlışlıkla $değer = 7 yazsaydık ne olurdu. Görelim..

 

Bu demek oluyor ki $deger ile 7 eşit olmasa bile orada bir atama işlemi başarılı bir şekilde gerçekleştiği için if şartı yerine getirildiğini zannederek ekrana çıktıyı gönderiyor. Bu da büyük bir mantık hatasına sebep oluyor. Bu tür bir mantık hatası ile karşılaşmamak için karşılaştırma ifadesini ters kullanırsak böyle bir mantık hatasın kurtulmuş oluyoruz.

if($deger==7) yerine if(7==$deger)

 

if($deger=7) yerine if(7=$deger)

 

Bu ifade “if(7 = $deger)” yanlış kullanıldığı için kodu çalıştırdığımızda bir hata alacağız. Bu sayede hata satırına giderek kodumuzu hemen düzeltebileceğiz.

Kocaeli Üniversitesi Teknik Eğitim Fakültesi’nden Bilgisayar Öğretmenliği mezunu olan Fatih Çal, bilişim sektöründe 10 seneyi aşkın tecrübeye sahiptir. Başta web projeleri olmak üzere çeşitli projelerde ve kurumlarda çalışmıştır. Şuan Uluslararası Genç Derneği’nde Başkan Yardımcısı, Uluslararası Bilişim Teknolojileri Derneği’nde Yönetim Kurulu Üyesi ve İstanbul Medeniyet Üniversitesi Bilgi İşlem Daire Başkanlığında Sistem Yönetimi ve Yazılım Koordinatörü olarak görev almaktadır.
  • yani düz yazdığımızda yanlış yazsak bile ekrana yazdırıyorken ters ve yanlış yazdığımızda hata veriyor. Doğrumu anlamışım 🙂

  • Serinin devamı gelecek mi ?