Kodu inceleme çok boyunca, sık sık gibi şeyleri görmek:
// $myvar could be anything
if (intval($myvar) > 0) {
// do stuff
}
Ya da benzer şekilde:
if ($myvar != null && intval($myvar) > 0) {
// do stuff
}
O (intval aramak için gerekirse bir sayısal karşılaştırma yaparken daha zarif ve daha az savurgan kodu üretmek için sürekli bir arayış içinde, örneğin,) merak ediyorum. Belgeleri okuma ve buradan çeşitli tepkiler benim anlayış sayısal bir karşılaştırma için sorulduğunda, bu değişkenin türünü denetler ve sonra ne bulursa bağlı bir tamsayı döküm veya bir dize dönüştürme ya gerçekleştirir olduğunu - ya bunlar Aynı kadarıyla PHP söz konusu olduğunda, operasyon-bilge?
Buna dayanarak, bu en ucuz yolu gibi, bir tamsayı olarak doğrudan döküm PHP söylemek görünüyor:
if ((int)$myvar > 0) {
// do stuff
}
Ancak, bu şekilde yazılmış görmek hemen hemen hiç. Ben bir şey eksik? PHP otomatik olarak bu bir karşılaştırma operatörü gibi görünüyor her zaman yapar?
Ben sadece karşılaştırma yapmak ve kendi üzerinde PHP tipi hokkabazlık izin için yeterli olduğu durumlarda% 99.9 fark, ama ben bu kadar sık bir şey ya da diğerleri eksik ya vardır bakın!