if / else
テクノロジ系 / conditional (if / else / switch / 三項)
if / else
Lesson 2 / Chapter 2
else は「そうでなければ」
<?php
$score = 40;
if ($score >= 60) {
echo "合格\n";
} else {
echo "不合格\n";
}ifの条件が 偽 のときにelse { ... }の中身が実行されるifかelseの どちらか一方だけ が必ず実行される
書き方のルール
if ($score >= 60) {
echo "合格\n";
} else {
echo "不合格\n";
}if (...) { ... } else { ... }の形}とelseは 同じ行 に並べてよい (慣習)elseには条件を書かない (書くのはelseif)
elseif で 3 分岐以上
<?php
$score = 75;
if ($score >= 90) {
echo "A\n";
} elseif ($score >= 70) {
echo "B\n";
} else {
echo "C\n";
}実行結果:
B
elseif (条件)で条件を増やせる- いくつでも並べられる
上から順に判定する
if ($score >= 90) {
// 1番目: 90 以上か?
} elseif ($score >= 70) {
// 2番目: 70 以上か? (90 以上は既にはじかれた)
} else {
// どれにも当てはまらない
}- 条件は 上から順 にチェックされる
- 当てはまった瞬間にそのブロックだけ実行して 抜ける
- だから上から 厳しい順 に並べる
余りで偶奇判定
<?php
$n = 7;
if ($n % 2 == 0) {
echo "偶数\n";
} else {
echo "奇数\n";
}$n % 2は 2 で割った余り- 余りが
0なら偶数、そうでなければ奇数 ==は「等しい」(ch03 で詳しく)
このチャプターでできるようになること
✅ if / else で 2 分岐できる
✅ elseif で 3 分岐以上に分けられる
✅ 条件は上から順に判定されると分かる
✅ % と組み合わせて偶奇判定ができる
→ ドリルへ
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
ドリル 01 — 偶数か奇数か
問題
標準入力で整数を 1 つ受け取り、偶数 なら 偶数、奇数 なら 奇数 と出力してください。
入力例:
7
期待される出力:
奇数
採点
php scripts/grade.php topics/conditional/ch02-if-else/drill/01-even-or-odd/
ヒント
$n = (int) trim(fgets(STDIN));で読む$n % 2 == 0なら偶数if / elseを使う
ドリル 02 — 合格か不合格か
問題
標準入力で点数 (0〜100 の整数) を 1 つ受け取り、60 以上 なら 合格、60 未満 なら 不合格 と出力してください。
入力例:
55
期待される出力:
不合格
採点
php scripts/grade.php topics/conditional/ch02-if-else/drill/02-pass-fail/
ヒント
$score = (int) trim(fgets(STDIN));if / elseで 2 分岐- 「以上」は
>=
ドリル 03 — 点数で評価を判定
問題
標準入力で点数 (0〜100 の整数) を 1 つ受け取り、以下のルールで評価を出力してください。
| 点数 | 評価 |
|---|---|
| 90 以上 | A |
| 80 以上 90 未満 | B |
| 70 以上 80 未満 | C |
| それ以外 (70 未満) | D |
入力例:
85
期待される出力:
B
採点
php scripts/grade.php topics/conditional/ch02-if-else/drill/03-grade-judge/
ヒント
$score = (int) trim(fgets(STDIN));if / elseif / elseif / elseで 4 分岐- 条件は 上から厳しい順 に並べる (まず
>= 90を判定)