【6日でできるPHP入門】比較演算子

 プログラミングにおいて、「値が等しいか」「大きいか」「小さいか」といった比較は、条件分岐や繰り返し処理の基礎となります。
PHPでは、こうした判定を行うために「比較演算子(ひかくえんざんし)」が用意されています。
この記事では、比較演算子の基本や使い方、特に「==」と「===」の違いなどをサンプルとともに詳しく解説します。

1.比較演算子の基本と種類

1.1. 主な比較演算子と意味

演算子使用例意味
==$a == $b$aと$bが「値」として等しい
===$a === $b$aと$bが「値」と「型」ともに等しい
!=$a != $b$aと$bが「値」として等しくない
!==$a !== $b$aと$bが「値」または「型」が等しくない
<$a < $b$aが$bより小さい
>$a > $b$aが$bより大きい
<=$a <= $b$aが$b以下
>=$a >= $b$aが$b以上

1.2. 使用例と結果

$a$b比較結果
$a == $b8"8"true値が同じなのでtrue(型は問わない)
$a === $b8"8"false型が異なるためfalse
$a != $b85true8と5は等しくないのでtrue
$a > $b85true8は5より大きい
$a <= $b88true8は8以下

2.「==」と「===」の違いを理解しよう

2.1. 型も含めた比較と値だけの比較

演算子比較内容判定基準使い分け例
==値だけを比較型は自動変換して比較数値と文字列を一緒に比較したい場合
===値と型の両方を比較型も一致する必要がある厳密に同じ型かどうかもチェックしたい場合

サンプル1:==と===の違い

ファイル名: lesson29_1.php

<?php
$num = 7;         // 整数
$text = "7";      // 文字列

if ($num == $text) {
    echo "== : 値が等しいと判定されました。<br>";
} else {
    echo "== : 等しくありません。<br>";
}

if ($num === $text) {
    echo "=== : 値も型も等しいと判定されました。";
} else {
    echo "=== : 値または型が異なります。";
}
?>

実行結果

解説

  • 「==」では数値と文字列の区別なく「7」と「"7"」を同じとみなす
  • 「===」では型も厳密に一致しないと「等しい」とはならない

3.その他の比較演算子のサンプル

サンプル2:大小比較・等しくない比較

ファイル名: lesson29_2.php

<?php
$x = 15;
$y = 20;

if ($x < $y) {
    echo "{$x}は{$y}より小さいです。<br>";
}

if ($x != $y) {
    echo "{$x}と{$y}は異なる値です。<br>";
}

if ($x >= 10) {
    echo "{$x}は10以上です。";
}
?>

実行結果

4.比較演算子の注意ポイント

  • ==(等しい)は型の自動変換あり、===(厳密な等しい)は型も一致が必要
  • 不等号(<, >, <=, >=)は数値、日付などでもよく使う
  • 文字列同士の比較はアルファベット順・文字コード順で判定される

まとめ

  • 比較演算子は値や型を比較し、条件分岐や繰り返し処理で活用される
  • 「==」は値のみ、「===」は値と型を厳密に比較
  • 使い分けを意識しながら安全で分かりやすいコードを書こう

さまざまな値や型の組み合わせで比較演算子を試し、挙動をしっかり理解しましょう。