等式(==)和恒等式(===)都是PHP的比较运算符,那么它们之间有什么不同?下面本篇文章就来带大家简单比较一下等式(==)和恒等式(===),希望对大家有所帮助。【教程推荐: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的值不相等'; ?>
输出:
说明:在上面的例子中,因为等式(==)运算符只比较变量的值,$ x和$ y的值是相等的,所以直接执行if里的语句,不执行else语句。
PHP等式(==)运算符的比较图表:
恒等式(===)运算符
恒等式(===)运算符是进行给定变量或值之间的严格比较;它比较,并查看两个变量(表达式或常量)是否值相等且具有相同的数据类型,即两者都是字符串或两者都是整数等等。
如果两个变量(表达式或常量)包含相同的值和相同的数据类型,则此运算符返回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不相等'; ?>
输出:
说明:在上面的例子中,$ x和$ y的值相等但数据类型不同,因而返回false,执行else部分。
PHP恒等式(===)运算符的比较图表:
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
Atas ialah kandungan terperinci PHP中等式(==)和恒等式(===)运算符的简单比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!