■比較演算子とは
左辺の値と右辺の値を比較して、その結果に応じた値を返す演算子です。
比較演算子には以下のような種類があります。
まずは一覧で確認してみましょう。
比較演算子 | 説明 |
---|---|
== | 左辺と右辺が等しい場合に「TRUE」を返す |
!= , <> | 左辺と右辺が等しくない場合に「TRUE」を返す |
< | 左辺が右辺より小さい場合に「TRUE」を返す |
> | 左辺が右辺より大きい場合に「TRUE」を返す |
<= | 左辺が右辺より小さいか等しい場合に「TRUE」を返す |
>= | 左辺が右辺より大きいか等しい場合に「TRUE」を返す |
=== | 左辺と右辺が等しく、かつ同じデータ型である場合に「TRUE」を返す |
!== | 左辺と右辺が等しくない、または同じデータ型でない場合に「TRUE」を返す |
<=> | 左辺が右辺より大きい場合は「1」、等しい場合は「0」、小さい場合は「-1」を返す ※PHP7より追加された宇宙船演算子 |
使用例
上記で紹介した比較演算子について
実際の使用例を確認してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php $a = 10; echo "<h2>" . "== の場合</h2>" ; var_dump( $a == 5); // bool(false) var_dump( $a == 10); // bool(true) var_dump( $a == 15); // bool(false) echo "<h2>" . "!= の場合</h2>" ; var_dump( $a != 5); // bool(true) var_dump( $a != 10); // bool(false) var_dump( $a != 15); // bool(true) echo "<h2>" . "< の場合</h2>" ; var_dump( $a < 5); // bool(false) var_dump( $a < 10); // bool(false) var_dump( $a < 15); // bool(true) echo "<h2>" . "> の場合</h2>" ; var_dump( $a > 5); // bool(true) var_dump( $a > 10); // bool(false) var_dump( $a > 15); // bool(false) echo "<h2>" . "<= の場合</h2>" ; var_dump( $a <= 5); // bool(false) var_dump( $a <= 10); // bool(true) var_dump( $a <= 15); // bool(true) echo "<h2>" . ">= の場合</h2>" ; var_dump( $a >= 5); // bool(true) var_dump( $a >= 10); // bool(true) var_dump( $a >= 15); // bool(false) echo "<h2>" . "=== の場合</h2>" ; var_dump( $a === 10); // bool(true) var_dump( $a === '10' ); // bool(false) echo "<h2>" . "!== の場合</h2>" ; var_dump( $a !== 10); // bool(false) var_dump( $a !== '10' ); // bool(true) echo "<h2>" . "<=> の場合</h2>" ; var_dump( $a <=> 5); // int(-1) var_dump( $a <=> 10); // int(0) var_dump( $a <=> 15); // int(1) ?> |
実行結果
「==」と「===」,「!=」と「!==」について
一覧表に記載されている通り値だけでなくデータ型が同じかどうかまで厳密に比較を行います。
PHPではデータ型を気にせず変数を用意できる分、
値を厳密に比較をする必要があるかどうか考えて使用するようにしましょう。
具体例は以下のとおりです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $a = 10; // 整数値 $b = '10' ; // 文字列 // 値のみ比較 if ( $a == $b ) { echo '比較した値は等しいです。' ; } // データ型まで比較 if ( $a === $b ) { echo '比較した値はデータ型まで等しいです。' ; } ?> |
実行結果
※データ型は等しくないため2つ目のif文はfalseとなります。
まとめ
今回は比較演算子について学びました。
比較演算子は単体で使うというよりは
今後学ぶことになる if文 や for文 などの条件を指定する際に使用することになります。
条件を複数指定したり、細かな条件を指定する際には
次回紹介する論理演算子というものと併せて使用することになりますので、
そちらも参考にしてください。