比較演算子を理解したい人向け
比較演算子とはなにかわからない
比較演算子の書き方や記号の種類があってわからない
こういった疑問を解決していきます。
比較演算子とは
比較演算子とは
2つの値を比較し、その結果を論理値(trueまたはfalse)で返す演算子です。
ある条件を比較し、正しければture、違っていればfalseで返します。
比較演算子の種類
比較演算子にはイコール(=)や不等号(<>)などの種類があります。
以下の表でまとめています。
演算子 | 例 | 意味 |
---|---|---|
== | $a == $b | 右辺と左辺が等しい場合にはtrue。右辺と左辺で型が違う場合にはキャストされる。 |
!= または<> | $a != $b | 右辺と左辺が等しくない場合にはtrue。右辺と左辺で型が違う場合はキャストされる。 |
=== | $a === $b | 右辺と左辺が等しい場合にはtrue。キャストが行われない(厳密な比較)。 |
!== | $a !== $b | 右辺と左辺が等しくない場合にはtrue。キャストが行われない(厳密な比較)。 |
< | $a < $b | 右辺より左辺が小さい場合にtrue。 |
> | $a > $b | 右辺より左辺が大きい場合にtrue。 |
<= | $a <= $b | 右辺より左辺が小さいか等しい場合にtrue。 |
>= | $a >= $b | 右辺より左辺が大きいか等しい場合にtrue。 |
豆知識
キャストという言葉が出てきましたが、型変換をするということです。
1と"1"では整数型と文字列型で違う型ですが、自動で"1"を整数の1と認識することです。
<?php $i = 123; $x = "100"; $sum = $i + $x; echo $sum; //結果 223
比較演算子を使ってみよう
コードを書いて使ってみよう
ソースコードを確認してみましょう。
<?php var_dump(10 == 10); //結果 true var_dump(10 == 20); //結果 false var_dump("10" == 10); //結果 true var_dump(10 === 10); //結果 true var_dump("10" === 10); //結果 false var_dump(10 != 20); //結果 true var_dump(10 < 20); //結果 true var_dump(10 > 20); //結果 false var_dump(10 <= 10); //結果 true
それでは解説していきます。
豆知識
「var_dump()」はカッコ内の情報を出力する関数です。
==の場合
var_dump(10 == 10); //結果 true
左辺と右辺が同じで正しいのでtrueです。
var_dump(10 == 20); //結果 false
左辺と右辺が違うのでfalseです。
var_dump("10" == 10); //結果 true
左辺と右辺の型が違いますが、キャストされるので10 == 10と同じになり、trueです。
===の場合
var_dump(10 === 10); //結果 true
左辺と右辺が同じで正しいのでtrueです。===は型も全く同じでないとtrueになりません。
var_dump("10" === 10); //結果 false
左辺と右辺の型が違い、===でキャストされないのでfalseです。
!=の場合
var_dump(10 != 20); //結果 true
左辺と右辺が違い、!=は否定なのでtrueです。
<、>、<=、>=の場合
var_dump(10 < 20); //結果 true
左辺が小さく、右辺が大きく不等号として正しいのでtrueです。
var_dump(10 > 20); //結果 false
左辺が小さく、右辺が大きく不等号として間違っているのでfalseです。
var_dump(10 <= 10); //結果 true
左辺と右辺が同じで<=なのでtrueです。
まとめ
比較演算子とは2つの値を比較し、その結果を論理値(trueまたはfalse)で返す演算子です。
ある条件を比較し、正しければture、違っていればfalseで返します。
演算子 | 例 | 意味 |
---|---|---|
== | $a == $b | 右辺と左辺が等しい場合にはtrue。右辺と左辺で型が違う場合にはキャストされる。 |
!= または<> | $a != $b | 右辺と左辺が等しくない場合にはtrue。右辺と左辺で型が違う場合はキャストされる。 |
=== | $a === $b | 右辺と左辺が等しい場合にはtrue。キャストが行われない(厳密な比較)。 |
!== | $a !== $b | 右辺と左辺が等しくない場合にはtrue。キャストが行われない(厳密な比較)。 |
< | $a < $b | 右辺より左辺が小さい場合にtrue。 |
> | $a > $b | 右辺より左辺が大きい場合にtrue。 |
<= | $a <= $b | 右辺より左辺が小さいか等しい場合にtrue。 |
>= | $a >= $b | 右辺より左辺が大きいか等しい場合にtrue。 |
ログイン認証時だったり、重要な場面に使うこともあるので使い分けを覚えておきましょう!