=   是赋值:就是说给一个变量赋值

==  是轻量级的比较运算,只看值不看类型

=== 是重量级的比较运算,既看值,也看类型,要绝对相等才会为true

 

举个示例

比如你一个函数会返回这几种情况:

1、大于0的数,100
2、小于0的数,-10
3、等于0的数,也就是0, 0 == "0"
4、False(失败时), 1 == "1"

这时候如果想捕获失败的情况,必须用===,而不能用==

因为==除了会匹配第4种情况外,还会匹配第3种情况,因为0也是假!

三个等号代表比较对象的类型也要一致。两个等号表示只要值相等就满足条件。

 

补充示例:

$a='2';        // 字符型2
$b=2;         // 数值型2
$a==$b      // 是对的,都是2
$a===$b    // 是不对的,因为$a是字符型$b是数值型,值虽一样,但类型不一样。