Int vs bir bool kontrol PHP herhangi bir değeri var mı?

2 Cevap php

Ben şu hattı var:

$this->magicQuotes = (bool) get_magic_quotes_gpc();

Ben get_magic_quotes_gpc() Ben SQL oluşturmak gibi birçok kez kullanılan olarak benim nesnesi içinde saklayarak alıyorum. Ben de bir bool dönüştürerek duyuyorum.

Bool dönüştürerek ise değer olup olmadığını merak ediyorum. Ben ana nedeni olduğunu kontrol ifadesi olarak hız içindir:

if ($this->magicQuotes) { ... }

Ben test kesinlikle bir bool değeri ise biraz daha hızlı olacağını düşünüyorum.

Bu yapmak için değil, başka nedenler varsa daha hızlı değil ise veya herhangi bir neden var mı?

2 Cevap

Eğer bool dönüştürmek yoksa ifadeyi değerlendirirken, PHP neyse bool dönüştürmek zorunda deyimi eğer. Açıkça ya dönüştürmek ister Yani, bir kez ya da başka bool dönüştürülür alacak, ve ben daha az yazın sağlar yolu tercih ediyorum.

Hangi endişesi daha okunabilir olduğu hakkında da küçük optimizasyon bu tür, daha fazla endişe olmalıdır 01 saniye daha hızlı diğerinden daha ... 0.0 olduğunu.

Bundan daha hızlı olmamalı ... php bool ve sonunda int hem dönüştürür nasıl bağlı.

Tipik olarak, x86, bool ve int, hem if(foo) sıfıra karşı bir test olacağını ve buna göre atlamak. Yani dökme performansını artırmak gerekir.