比較運算子

相等

對於基本相等測試,使用相等運算子 ==。要進行更全面的檢查,請使用相同的運算子 ===

相同的運算子與等運算子的作用相同,要求其運算元具有相同的值,但也要求它們具有相同的資料型別。

例如,下面的示例將顯示’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
}