比较运算符就是对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回 true;如果为假,则返回 false。
PHP 中的比较运算符如下表所示:
例子 | 名称 | 描述 |
---|---|---|
$a == $b | 等于 | 如果类型转换后 $a 和 $b 的值相等,则返回 TRUE,否则返回 FALSE |
$a === $b | 全等 | 如果 $a 和 $b 不仅值相等,而且它们值的类型也相等,则返回 TRUE,否则返回 FALSE |
$a != $b | 不等于 | 如果类型转换后 $a 的值不等于 $b 的值,则返回TRUE,否则返回 FALSE |
$a <> $b | 不等于 | 与 != 相同,如果类型转换后 $a 的值不等于 $b 的值,则返回 TRUE,否则返回 FALSE |
$a !== $b | 不全等 | 如果 $a 的值不等于 $b的值,或者它们值的类型不同,则返回 TRUE,否则返回 FALSE |
$a < $b | 小与 | 如果 $a 的值小于 $b 的值,则返回 TRUE,否则返回 FALSE |
$a > $b | 大于 | 如果 $a 的值大于 $b 的值,则返回 TRUE,否则返回 FALSE |
$a <= $b | 小于等于 | 如果 $a 的值小于或者等于 $b 的值,则返回 TRUE,否则返回 FALSE |
$a >= $b | 大于等于 | 如果 $a 的值大于或者等于 $b 的值,则返回 TRUE,否则返回 FALSE |
$a <=> $b | 太空船运算符(组合比较符) | 当 $a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的整型值。 PHP7开始提供. |
$a ?? $b ?? $c | NULL合并操作符 | 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。 |
其中,我们要重点区分一下“等于”和“全等”,等于==只是对两个变量的值进行了比较运算,而全等===不仅会对运算符两边表达式的值进行比较,而且还会对数据类型进行比较,只有两边的值和数据类型都相等时,运算结果才是 TRUE。
另外,“不等于”和“不全等”也是如此,不等于!=只对运算符两边表达式的值进行比较,而不全等!==不仅会比较运算符两边表达式的值,还会对值的类型进行比较,当两边的值或者数据类型有任意一个不相等时,运算结果才是 TRUE。
示例代码如下:
<?php
$a = 10;
$b = '10';
if($a == $b){
echo '$a 和 $b 的值相等!<br>';
if($a === $b){
echo '$a 和 $b 的类型也相等!<br>';
}else{
echo '$a 和 $b 的类型不相等!<br>';
}
}else{
echo '$a 和 $b 的值不相等!<br>';
}
?>
运行结果如下: