概要

プログラムは「常に同じ処理」だけでは現実の要件に追いつかない。年齢で表示を変える、点数で合否を分ける、入力が空かどうかで処理を切り替える — こうした「条件によって動きを変えたい」というのが、ほぼあらゆる業務ロジックに登場する根本的な要求で、その最も基本的な道具が if 文だ。

PHP の ifif (条件) { ... } という形で書く。波括弧 {} の中に書いたコードは、条件が真のときだけ 実行される。条件部分には比較演算子を使った式 ($age >= 18 など) を書くのが一般的だが、PHP は「真偽値に評価できるものなら何でも」条件にできる柔軟さがある。

ここで知っておくべき重要なクセが、PHP の falsy (偽として扱われる値) の範囲が広い こと。false だけでなく、0 / "0" / "" (空文字) / null / [] (空配列) すべてが if の条件として書くと「偽」になる。これは便利な反面、「$count = 0 のときに if ($count) が想定と逆に動く」というハマり方をしやすい。この章ではまず素直な「真のときだけ実行」を体に入れ、後の ch03-comparison で比較式の評価を、ch04-logical で複合条件を扱えるようにする。

学習目標

ドリル

no 内容
01 入力が正の数なら「正の数」と出力
02 入力点数が 60 以上なら「合格」と出力
03 入力時刻が 12 未満なら「午前」と出力

演習: ドリル 01 — 正の数なら出力

問題

標準入力で整数を 1 つ受け取り、その数が 正 (0 より大きい) なら 正の数 と出力してください。 0 や負の数のときは 何も出力しない

入力例:

5

期待される出力:

正の数

ヒント

演習: ドリル 02 — 60 点以上なら合格

問題

標準入力で点数 (0〜100 の整数) を 1 つ受け取り、60 以上 なら 合格 と出力してください。 60 未満のときは 何も出力しない

入力例:

75

期待される出力:

合格

ヒント

演習: ドリル 03 — 12 時より前なら午前

問題

標準入力で時刻 (0〜23 の整数) を 1 つ受け取り、12 未満 なら 午前 と出力してください。 12 以上のときは 何も出力しない

入力例:

9

期待される出力:

午前

ヒント

この章を AI に聞く

  1. 「ch01 — if 単独」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch01 — if 単独」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch01 — if 単独」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch01 — if 単独」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE