PHPでプログラムを書くとき、値を比較する場面はとても多いです。比較を正しく行うためには、比較演算子(Comparison Operators)を理解しておくことが重要です。
この記事では、PHPの比較演算子の種類や違い、使い方を初心者にも分かりやすく解説します。
PHPの比較演算子とは
比較演算子とは、二つの値を比較して、その結果に応じた真偽値(true/false)を返す演算子のことです。条件分岐(if文など)を使う際に必須となる知識です。
例えば、以下のコードでは $a < $b
という比較を行い、その結果 true
ならメッセージを表示します。
$a = 10;
$b = 20;
if ($a < $b) {
echo "aはbより小さい";
}
PHPの比較演算子一覧
PHPには、主に以下のような比較演算子があります。
演算子 | 説明 | 例 | 結果 |
---|---|---|---|
== | 値が等しいか比較 | $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 |
< | 左が右より小さいか比較 | $a < $b | $a が $b より小さければ true |
> | 左が右より大きいか比較 | $a > $b | $a が $b より大きければ true |
<= | 左が右以下か比較 | $a <= $b | $a が $b 以下なら true |
>= | 左が右以上か比較 | $a >= $b | $a が $b 以上なら true |
==
と ===
の違い
PHPでは、==
と ===
はどちらも比較に使用されますが、その動作は異なります。それぞれの違いを理解して適切に使い分けましょう。
==
(値が等しいか比較)
==
は、値のみを比較します。
$a = 5;
$b = "5";
var_dump($a == $b); // true
===
(値と型が等しいか比較)
===
は、値だけでなく型も比較します。
$a = 5;
$b = "5";
var_dump($a === $b); // false
!=
と !==
の違い
!=
と !==
はどちらも「異なる」ことを比較するために使用されますが、型の違いを考慮するかどうかによって結果が変わります。
!=
(値が異なるか)
!=
は、値が異なるかどうかを比較します。
$a = 5;
$b = "5";
var_dump($a != $b); // false
!==
(値または型が異なるか)
!==
は、値または型が異なるかを比較します。
$a = 5;
$b = "5";
var_dump($a !== $b); // true
大小比較の使い方
大小を比較する際には、<
, >
, <=
, >=
を使用します。これらの演算子を適切に使用することで、条件分岐を簡潔に記述できます。
>
(より大きい)
$a = 10;
$b = 5;
if ($a > $b) {
echo "$a は $b より大きい";
}
<=
(以下)
$a = 5;
$b = 10;
if ($a <= $b) {
echo "$a は $b 以下";
}
よくある間違い
比較演算子の使用時に初心者が陥りやすいミスを紹介します。特に =
と ==
の混同は、意図しない動作を引き起こす原因になります。
=
と ==
を間違える
以下のコードは間違いの典型例です。
$a = 10;
if ($a = 5) { // 間違い!
echo "aは5です";
}
正しくは ==
を使います。
if ($a == 5) {
echo "aは5です";
}
まとめ
==
は値のみ、===
は値と型を比較- 厳密な比較をする場合は
===
を推奨 !=
と!==
の違いを理解する- 大小比較演算子(
<
,>
,<=
,>=
)は数値比較に便利 =
(代入)と==
(比較)を間違えないように注意
これらを理解すれば、PHPの条件分岐がよりスムーズに使えるようになります。
PHPの基礎をもっと知りたい方は、他の記事もチェックしてみてください!