if(5==$deger) yada if ($deger==5)
Yazan: ayhan,DigerTags/Kelimeler: if(5==$deger) yada if ($deger==5)
if(5==$deger) yada if ($deger==5)
Sizin de dikkatinizi çekmiştir,
Bazı projelerde alıştığımız if şartını ters yazıyorlar;
if ($deger==5) yerine if(5==$deger)
bu yazımın kaynağı C’den geliyor.
= atama.
== eşit mi karşılaştırması.
C türevi tüm dillerde karşılaştırma operatöri == ‘ dir.
Yazılımcılar dalgınlık/unutkanlık ile if’lerde == yerine = (tek eşit) kullanırlarsa büyük bir mantık hatasına ve bug’a sebep olurlar.
# root user kontrolü
if($user_id==1) {
# ilgili menuleri göster
}
Bu kod’da yanlışlıkla tek eşit yazılır ise if şartı her zaman true olacak ve if bloğu çalıştırılacak
if($user_id=1) {
# ilgili menuleri göster
}
Fakat;
if(1=$user_id) {
# ilgili menuleri göster
}
Bu tarz bir yazım “sabit değere atama yapmak istiyorsunuz” şeklinde bir derleme/çalıştırma hatasını tetikler ve kod çalıştırılmaz.
Entries (RSS)