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.

>

Cevapla

Son Yazılar :

utf8 general - utf8 turkish

utf8 general ============================================================= Tablo : DROP TABLE IF EXISTS `tt`; CREATE TABLE IF NOT EXISTS `tt` ( `ad` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tt` (`ad`) VALUES (’istanbul’), [...]

utf8 general - utf8 turkish

utf8 general ============================================================= Tablo : DROP TABLE IF EXISTS `tt`; CREATE TABLE IF NOT EXISTS `tt` ( `ad` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tt` (`ad`) VALUES (’istanbul’), [...]

utf8 general - utf8 turkish

utf8 general ============================================================= Tablo : DROP TABLE IF EXISTS `tt`; CREATE TABLE IF NOT EXISTS `tt` ( `ad` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tt` (`ad`) VALUES (’istanbul’), [...]

utf8 general - utf8 turkish

utf8 general ============================================================= Tablo : DROP TABLE IF EXISTS `tt`; CREATE TABLE IF NOT EXISTS `tt` ( `ad` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tt` (`ad`) VALUES (’istanbul’), [...]

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 [...]