区别:1、恒等使用“===”运算符进行计算,而等于使用“==”运算符进行计算;2、等于运算只测试左边变量是否与右边变量具有相同的值,而恒等运算不仅测试值是否相同,还测试数据类型是否相同。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
php中恒等与等于的比较
等式(==)运算
等式(==)运算符是比较、并测试左边的变量(表达式或常量)是否与右边的变量(表达式或常量)具有相同的值;该运算符进行的比较是松散的。
如果两个值相同(它只比较变量的值,而不是数据类型),则返回true值;如果两个值不相同,则返回false值。
注:等式(==)运算符和赋值(=)运算符不同。赋值(=)运算符会更改左边的变量,将右边的变量赋值给左边的变量,而等式(==)运算符是测试相等性,并根据比较结果返回true或false。
示例:
<?php header("content-type:text/html;charset=utf-8"); // 给变量赋整数值 $x = 999; echo '$x='.$x."<br>"; // 给变量赋字符串值 $y = '999'; echo '$y='.$y."<br>"; //比较$x 和$y if ($x == $y) echo '$x和$y的值相等'; else echo '$x和$y的值不相等'; ?>
恒等式(===)运算
恒等式(===)运算符是进行给定变量或值之间的严格比较;它比较,并查看两个变量(表达式或常量)是否值相等且具有相同的数据类型,即两者都是字符串或两者都是整数等等。
如果两个变量(表达式或常量)包含相同的值和相同的数据类型,则此运算符返回true,否则返回false。
示例:
<?php header("content-type:text/html;charset=utf-8"); // 给变量赋整数值 $x = 999; echo '$x='.$x."<br>"; // 给变量赋字符串值 $y = '999'; echo '$y='.$y."<br>"; //比较$x 和$y if ($x === $y) echo '$x和$y相等'; else echo '$x和$y不相等'; ?>
推荐学习:《PHP视频教程》