==和===都是比较运算符,用来处理两个操作数之间的关系操作。
当操作数是两个字符串时,按ASCII字符顺序比较;当操作数是数字时,按数字大小比较,比较后返回一个布尔值true或false。
我们通过代码清单1-15来做对比:
代码清单1-15 ==与===的表达式
<?php $x = 23; // PHP自动把字符串转换为整型数据 echo ($x == 23) . " <br / > "; // 显示 1 (true) echo ($x === 23 ) . "<br / > "; // 显示 1 (true) echo ($x === "23 ") . " <br / > "; // 显示为空 (false) ?>
我们看到,第4行代码使用了===全等比较,因为它后面的23是显式声明为字符串,两侧数据类型并不一致,因此返回布尔值false。
其实我们着重讲解的是==和===的区别,而=是一个等号,它是一个赋值操作符,即把等号右边的值赋值给左侧的变量。