Eğer akıllı mantıksal operatörleri ile dillere kullanılan iseniz, sizin gibi şeyler yapmaya çalışacağız:
$iShouldTalkTo = $thisObj || $thatObj;
PHP, $iShouldTalkTo
şimdi bir mantıksal değerdir. Sen yazmak zorunda konum:
$iShouldTalkTo = $thisObj ? $thisObj : $thatObj;
PHP erken tasarım kararları yetkili olanları çökmüş karşılığında beceriksiz programcılar ellerini tutmak için çalıştı nasıl tüm örnekler dışında, bu beni en çok rahatsız biri olabilir.
switch()
yapı Derin beyin hasarı doludur. Bu düşünün:
switch($someVal) {
case true :
doSomething();
break;
case 20 :
doSomethingElse();
break;
}
'Vaka gerçek' $ SOMEVAL ve all gerçek olgu absorbe çünkü doSomethingElse()
, denilen asla çıkıyor.
Belki de haklı olduğunu düşünüyorum? Peki, bu bir deneyin:
for($ix = 0; $ix < 10; $ix++) {
switch($ix) {
case 3 :
continue;
default :
echo ':';
}
echo $ix;
}
Çıktısı ne olduğunu tahmin? Olmalıdır: 0:1:2:4:5:6:7:8:9, değil mi? Hayır, bu: 0:1:23:4:5:6:7:8:9. Yani, o ignores the semantics continue
deyimi ve bir break
gibi davranır onu bir.