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.