PHP şüphe karşılaştırmak

3 Cevap php
if(0 == ('Pictures'))
{
  echo 'true';
}

neden bana 'gerçek' veriyor?

3 Cevap

PHP type comparison tables karşılaştırma operatörleri PHP nasıl davrandığını anlamak için kontrol edin.

Senin durumunda, 'Pictures' "0" olur ve bu yüzden 0 = 0.

En Aşağıdaki örneğe bakalım:

echo (int)'Pictures'; // 0 => 'Picture' as int
echo 0 == 'Pictures'; // 1 => true, 0 = 0

Sizin dize, bir tamsayı olarak değerlendirilir böylece olur 0, bu kullanın: kimliği (aynı değer ve aynı tür) doğrular 0 === 'Pictures'

Kullanın:

if (0 === 'Pictures')
{
  echo 'true';
}

=== sıkı tip operatör, aynı zamanda değerini ancak türünü denetler sadece.

Quick Test:

if(0 == 'Pictures')
{
  echo 'true';
}
else
{
  echo 'false';
}

çıkışları true, ancak:

if(0 === 'Pictures')
{
  echo 'true';
}
else
{
  echo 'false';
}

çıkışları false