区别: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的值不相等'; 
?>

1.png

恒等式(===)运算

恒等式(===)运算符是进行给定变量或值之间的严格比较;它比较,并查看两个变量(表达式或常量)是否值相等且具有相同的数据类型,即两者都是字符串或两者都是整数等等。

如果两个变量(表达式或常量)包含相同的值和相同的数据类型,则此运算符返回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不相等'; 
?>

2.png


php中恒等与等于的区别是什么