PHP Sayısal ve dize değeri arasındaki fark,

2 Cevap php

0 ve '0' PHP iki dize karşılaştırırken ben bir fark alıyorum. Ben onlara bir eylem varsa içinde eşit karşılaştırılabilir hale getirmek için bir şey yapabilir miyim?

Teşekkürler!

2 Cevap

Eğer kullanıyorsanız karşılaştırırsak:

if ('0' == 0) // if '0' is equal to 0

değerleri dize bir sayıya dönüştürülür ile karşılaştırıldığında gibi doğru dönmelidir. Eğer yaparsanız:

if ('0' === 0) // if '0' is identical to 0

onlar da aynı tip olması gibi yanlış dönecektir.

Üçlü '=' Not

Ayrıca karşılaştırarak önce aynı olması için kendi türünü zorlayabilirsiniz:

if((int)'0' === (int)0) {
    // true
}
if((string)'0' === (string)0) {
    // true
}