我们来看一下下面一个程序:
$str = “abc”;
if (0==$str)
{echo “真”}
else
{echo “假”}
这个程序运行的结果出人意料, “fupeng”居然 被PHP认为和0相等了。 为什么会出现这样的情况呢? 执行关系运算”==“时要求运算符两边的数据 类型必须一致,所以等号右边的字符串被强制 转换为了整型0。
$str = “abc”;
if (0===$str)
{echo “真”}
else
{echo “假”}
全等于操作过程如下: 1.判断全等于操作符2边的数据类型是否相同 如果不相同,则返回false 2.判断全等于操作符2边的值是否相等,如果 不相等,则返回false 3.最后将上面2步的操作进行与操作。返回与操作的结果。
两个等号 等于 是 先把 等号两边的变量 转化成相同的类型,如果转换类型后的结果 是相等的, 就认为相等。
总结
(三个等号) 等于 (类型转换+ 两个等号)