可能重复:
等式(== double equals)和identity(=== triple equals)比较运算符有何不同?
我知道==和之间的基本区别===,但有些有经验的编码员可以告诉我两个案例的一些实际例子吗?
Dav*_*nco 21
==检查两个操作数的值是否相等.===检查值以及两个操作数的类型.
if("1" == 1)
echo "true";
else
echo "false";
Run Code Online (Sandbox Code Playgroud)
以上将输出true.
if("1" === 1)
echo "true";
else
echo "false";
Run Code Online (Sandbox Code Playgroud)
以上将输出false.
if("1" === (string)1)
echo "true";
else
echo "false";
Run Code Online (Sandbox Code Playgroud)
以上将输出true.