比较运算符

相等

对于基本相等测试,使用相等运算符 ==。要进行更全面的检查,请使用相同的运算符 ===

相同的运算符与等运算符的作用相同,要求其操作数具有相同的值,但也要求它们具有相同的数据类型。

例如,下面的示例将显示’a 和 b 相等’,但不是’a 和 b 相同’。

$a = 4;
$b = '4';
if ($a == $b) {
    echo 'a and b are equal'; // this will be printed
}
if ($a === $b) {
    echo 'a and b are identical'; // this won't be printed
}

使用等于运算符时,数字字符串将转换为整数。

对象比较

=== 通过检查它们是否完全相同的实例来比较两个对象。这意味着即使它们以相同的方式创建(并且具有完全相同的值),new stdClass() === new stdClass() 也会解析为 false。

== 通过递归检查它们是否相等( 深度等于 ) 来比较两个对象。这意味着,对于 $a == $b,如果 $a$b 是:

  1. 同一类
  2. 具有相同的属性集,包括动态属性
  3. 对于每个属性 $property set,$a->property == $b->property 为 true(因此递归检查)。

其他常用的运算符

他们包括:

  1. 大于(>

  2. 小于(<

  3. 大于或等于(>=

  4. 小于或等于(<=

  5. 不等于(!=

  6. 不完全相同(!==

  7. 大于$a > $b,如果 $a 的值大于 $b 则返回 true,否则返回 false。

示例

var_dump(5 > 2); // prints bool(true)
var_dump(2 > 7); // prints bool(false)
  1. 小于$a < $b,如果 $a 的值小于 $b,则返回 true,否则返回 false。

示例

var_dump(5 < 2); // prints bool(false)
var_dump(1 < 10); // prints bool(true)
  1. 大于或等于$a >= $b,如果 $a 的值大于 $b 或等于 $b 则返回 true,否则返回 false

示例

var_dump(2 >= 2); // prints bool(true)
var_dump(6 >= 1); // prints bool(true)
var_dump(1 >= 7); // prints bool(false)
  1. 小于或等于$a <= $b,如果 $a 的值小于 $b 或等于 $b,则返回 true,否则返回 false

示例

var_dump(5 <= 5); // prints bool(true)
var_dump(5 <= 8); // prints bool(true)
var_dump(9 <= 1); // prints bool(false)

5/6。不等于/相同: 为了重复前面的相等示例,下面的示例将显示’a 和 b 不相同’,但不是’a 和 b 不相等’。

$a = 4;
$b = '4';
if ($a != $b) {
    echo 'a and b are not equal'; // this won't be printed
}
if ($a !== $b) {
    echo 'a and b are not identical'; // this will be printed
}