比較演算子の種類
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
この違いを理解して使い分けないと、エラーや予期しない動作の原因となります。