比較演算子の種類
PHPでは以下の比較演算子があり、各条件に該当する場合はtrueを、該当しない場合はfalseを返します。
例 | 条件 |
---|---|
$x < $y | $xは$y未満 |
$x <= $y | $xは$y以下 |
$x > $y | $xは$yより大きい |
$x >= $y | $xは$y以上 |
$x == $y | $xと$yは等しい |
$x === $y | $xと$yは厳密に等しい |
$x != $y | $xと$yは等しくない |
$x !== $y | $xと$yは厳密に等しくない |
==と===の違い
==は値が等しいかのみを検証しているのに対し、===は値とデータ型の2つが等しいかを検証しています(!=と!==も同様)。そのため、以下のようなケースでは異なる値が返ってきます。
$x = 1; #integer型
$y = '1'; #string型
$x == $y;
# => true
$x === $y;
# => false
$x != $y;
# => false
$x !== $y;
# => true
この違いを理解して使い分けないと、エラーや予期しない動作の原因となります。