‘==’和’===’的区别
等号操作
被称为相等运算符的比较运算符是双等号” == “。该运算符接受两个输入进行比较,如果两个值相同(它只比较变量值,而不是数据类型),则返回true值;如果两个值不相同,则返回false值。
应该始终记住,现在的等式操作符==与赋值操作符=不同。赋值运算符更改并将左边的变量赋值为右边的变量,而等号运算符==则根据比较结果返回true或false。
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php // Variable contains integer value $x = 999; // Vatiable contains string value $y = '999'; // Compare $x and $y if ($x == $y) echo 'Same content'; else echo 'Different content'; ?> |
输出
1 | Same content |
恒等操作
被称为恒等运算符的比较运算符是三重等号” === “。这个运算符允许对给定的变量或值进行更严格的比较。
如果两个变量包含相同的信息和相同的数据类型,则该操作符返回true,否则返回false。
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php // Variable contains integer value $x = 999; // Vatiable contains string value $y = '999'; // Compare $x and $y if ($x === $y) echo 'Data type and value both are same'; else echo 'Data type or value are different'; ?> |
输出
1 | Data type or value are different |
在上面的例子中,$x和$y的值相等,但是数据类型不同,因此else部分将执行。