PHP比较怀疑

时间:2010-06-03 10:02:22

标签: php operators equality comparison-operators

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

为什么它给我“真实”?

3 个答案:

答案 0 :(得分:3)

您的字符串将被评估为整数,因此变为0,使用此:0 === 'Pictures'验证身份(相同值和相同类型)

答案 1 :(得分:2)

检查PHP type comparison tables以了解比较运算符在PHP中的行为。

在您的情况下,'图片'变为“0”,因此0 = 0。

让我们检查以下示例:

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

答案 2 :(得分:0)

使用:

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

===是严格类型运算符,它不仅检查值,还检查类型。

快速测试:

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

输出true但是:

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

输出false