ch03 6章中 3章目

ch03 — 比較演算子

スライドで見る

この章を AI と学ぶ

💬 AI に聞く質問例 3 件
  1. 「ch03 — 比較演算子」のつまずきやすいポイントを、初学者向けに3つ教えてください

    ChatGPT Claude Gemini

  2. 「ch03 — 比較演算子」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    ChatGPT Claude Gemini

  3. 「ch03 — 比較演算子」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    ChatGPT Claude Gemini

概要

if の条件式の中身を作るのが比較演算子だ。== (等しい)、!= (等しくない)、< > <= >= (大小比較) の 6 種類を覚えれば、ほとんどの条件式は書ける。比較演算子の結果は必ず truefalse のどちらか (真偽値) で、これを if がそのまま条件として読む。

ここで PHP 学習者が最初にぶつかる 超重要なハマりどころ が、== (緩い比較) と === (厳密比較) の違い。== は型を揃えてから比較するため、0 == "0"true になる (文字列を数値に変換して比較)。一方 ===型まで一致しないと真にならない ので、0 === "0"false。HTTP リクエストの値や DB の戻り値は文字列で来るため、ここで ===== の使い分けを誤ると、見えないバグの温床になる。基本方針は「迷ったら === を使う」。

PHP 7 までは 0 == "abc"true という強烈な挙動があった (文字列が数値 0 に変換されていた)。これが PHP 8 で false に修正されたのは PHP の歴史的にも大きな変更で、古い記事のサンプルコードを写経すると現代の PHP で結果が違って驚くことがある。この章では基本 6 演算子を体に入れつつ、===== の違いを「そういう罠がある」と頭に焼き付けるのが目的。

学習目標

  • == != < > <= >= の意味を言える
  • 比較結果が真 / 偽になると理解する
  • if の条件式に比較演算子を組み合わせて使える

ドリル

no 内容
01 2 つの整数が等しいか判定 (yes / no)
02 2 つの整数のどちらが大きいか判定 (a / b / equal)

解説スライド 全 7 枚

右の ボタン キー(またはスワイプ)で次のスライドに進めます。 下の「縦表示」を開くと全スライドを一気に読めます。

  1. 比較演算子

    Lesson 2 / Chapter 3

  2. 比較演算子の一覧

    演算子 意味 結果
    == 等しい 3 == 3
    != 等しくない 3 != 5
    < より小さい 3 < 5
    > より大きい 3 > 5
    <= 以下 3 <= 3
    >= 以上 5 >= 3
    • 結果は 真 (true)偽 (false) のどちらか
  3. == は「等しい」

    <?php
    $a = 5;
    $b = 5;
    
    if ($a == $b) {
        echo "等しい\n";
    }
    • ==2 つ 続けて書く
    • = (1 つ) は 代入 なので別物
    • 初学者が 一番間違える 部分
  4. != は「等しくない」

    <?php
    $a = 5;
    $b = 3;
    
    if ($a != $b) {
        echo "違う\n";
    }
    • ! は「ではない」の意味
    • != で「等しくない」
    • == の逆」と覚えるとよい
  5. 大小比較 < > <= >=

    <?php
    $score = 60;
    
    if ($score >= 60) {
        echo "合格\n";
    }
    
    if ($score < 60) {
        echo "不合格\n";
    }
    • < >境界を含まない
    • <= >=境界を含む
    • 60 >= 6060 > 60
  6. 比較は数値以外でもできる

    <?php
    $name = "太郎";
    
    if ($name == "太郎") {
        echo "こんにちは 太郎 さん\n";
    }
    • 文字列同士も == で比較できる
    • 文字列は " または ' で囲む
  7. このチャプターでできるようになること

    == != < > <= >= の意味が言える ✅ = (代入) と == (比較) の違いが分かる ✅ if の条件式で比較演算子を使える

    → ドリルへ

1 / 7
📜 スライドを全部一気に読む(縦表示)

Lesson 2 / Chapter 3


比較演算子の一覧

演算子 意味 結果
== 等しい 3 == 3
!= 等しくない 3 != 5
< より小さい 3 < 5
> より大きい 3 > 5
<= 以下 3 <= 3
>= 以上 5 >= 3
  • 結果は 真 (true)偽 (false) のどちらか

== は「等しい」

<?php
$a = 5;
$b = 5;

if ($a == $b) {
    echo "等しい\n";
}
  • ==2 つ 続けて書く
  • = (1 つ) は 代入 なので別物
  • 初学者が 一番間違える 部分

!= は「等しくない」

<?php
$a = 5;
$b = 3;

if ($a != $b) {
    echo "違う\n";
}
  • ! は「ではない」の意味
  • != で「等しくない」
  • == の逆」と覚えるとよい

大小比較 < > <= >=

<?php
$score = 60;

if ($score >= 60) {
    echo "合格\n";
}

if ($score < 60) {
    echo "不合格\n";
}
  • < >境界を含まない
  • <= >=境界を含む
  • 60 >= 6060 > 60

比較は数値以外でもできる

<?php
$name = "太郎";

if ($name == "太郎") {
    echo "こんにちは 太郎 さん\n";
}
  • 文字列同士も == で比較できる
  • 文字列は " または ' で囲む

このチャプターでできるようになること

== != < > <= >= の意味が言える ✅ = (代入) と == (比較) の違いが分かる ✅ if の条件式で比較演算子を使える

→ ドリルへ

この章で取り組む 演習問題の流れ (2ステップ)
  1. 01 ドリル 01 — 2 つの整数が等しいか README.md starter.php answer.php
  2. 02 ドリル 02 — どちらが大きいか README.md starter.php answer.php

演習問題の詳細

この章の演習問題の内容を読めます。実際に手元で解くには教材リポジトリを clone してください。

ドリル 01 — 2 つの整数が等しいか

問題

標準入力で 2 行 受け取り、それぞれを整数として読みます。 2 つが 等しい なら yes等しくない なら no と出力してください。

入力例:

5
5

期待される出力:

yes

ヒント

  • fgets(STDIN) を 2 回呼んで 2 行読む
  • 各行を trim() して (int) で整数化
  • $a == $b で等しいか判定

🧪 ブラウザで試す

スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。

PHP ランタイム未読込

          

        

ドリル 02 — どちらが大きいか

問題

標準入力で 2 行 受け取り、それぞれを整数として読みます (1 行目を a、2 行目を b とする)。 以下のルールで出力してください。

条件 出力
a の方が大きい a
b の方が大きい b
等しい equal

入力例:

3
7

期待される出力:

b

ヒント

  • $a$b を 2 行から読む
  • if / elseif / else で 3 分岐
  • > < == を使い分ける

🧪 ブラウザで試す

スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。

PHP ランタイム未読込

          

        

演習問題(2問)

  1. ドリル 01 — 2 つの整数が等しいか

    README.md starter.php answer.php

  2. ドリル 02 — どちらが大きいか

    README.md starter.php answer.php

サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリを clone してください。

完了にすると進捗に反映されます