比較演算子
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの演算子 >> 比較演算子

比較演算子

比較演算子とは

比較演算子とは名前のとーり、2つの値を比較するものです。

演算子 説明
== 等しい $a == $b $aと$bが等しい時にTRUE
=== 〃(型も含む) $a === $b $aと$bが値も型も同じ時にTRUE
!= 等しくない $a != $b $aと$bが等しくない時にTRUE
<> $a <> $b
!== 〃(型も含む) $a !== $b $aと$bが値も型も等しくない時にTRUE
< より少ない $a < $b $aが$bより少ない時にTRUE
<= より少ないか等しい(未満) $a <= $b $aが$bより少ないか等しい時にTRUE
> より多い $a > $b $aが$bより多い時にTRUE
>= より多いか等しい $a >= $b $aが$bより多いか等しい時にTRUE

「===」と「!==」演算子はPHP4から追加になりました。

動作の違い

$a = 5と代入した場合
演算子 動作 解説
== $a == "5" TRUE $aの値が同じなのでTRUE
=== $a === "5" FALSE $aは5であるが、型が違うのでFALSE
$aの型は整数型・"5"の型は文字列型
!= $a != "5" FALSE $aは5なのでFALSE
!== $a !== "5" TRUE $aは5であるが、型が違うのでTRUE
$aの型は整数型・"5"の型は文字列型
< $a < 5 FALSE $aは5未満(5を含まない)なのでFALSE
<= $a <= 5 TRUE $aは5以下(5を含む)なのでTRUE
> $a > 5 FALSE $aは5より大きくない(5を含まない)のでFALSE
>= $a >= 5 TRUE $aは5より大きい(5を含む)のでTRUE

「<>」演算子は「!=」演算子と同様なので省きます。

サンプル

  1. <?php
  2. $a = 5;
  3. if( $a === "5" ){
  4. // 型も値も同じ場合
  5. echo "一致しました";
  6. }
  7. else{
  8. // そうじゃない場合
  9. echo "一致しません";
  10. };
  11. ?>

出力結果

一致しません

三項演算子

三項演算子とは「?:」で表され、条件の比較をするものです。

使い方: (式1) ? (式2) : (式3)

式1がTRUEの時は式2を、FALSEの場合には式3を値とします。if~~else~~と同じ働きをします。

上のサンプルを三項演算子で書くとこうなります。

  1. <?php
  2. $a = 5;
  3. print ($a === "5") ? "一致しました" : "一致しません";
  4. ?>

出力結果

一致しません

三項演算子は慣れると非常に便利なのですが、慣れるまでややこしいのでif文などで対処しても十分だと思います。ただ、自分で書けなくても三項演算子の存在くらい知ってないと人の書いたスクリプトが読めなくなる可能性もw。三項演算子を使ったサンプルは結構見かけますので覚えておくといいと思います。