はじめに|PHPの「条件分岐」はどんなときに使うの?
PHPでは「○○なら〜する、それ以外なら〜する」という処理を書くのにif文(条件分岐)を使います。
たとえば:
- ユーザーがログインしているかどうかで表示内容を変える
- 数字の大小で結果を分ける
- 入力内容によって動作を変える
このような「状況に応じた処理」は、if・else文の基本構文をマスターすることで可能になります。
ステップ①|if文の基本構文
if文
は、「もし〇〇なら〜をする」という指示を出す文です。
<?php
$score = 80;
if ($score >= 70) {
echo "合格です!";
}
?>
この例では、$score
が70以上なら「合格です!」と表示されます。
つまり「もし(if)条件が真(true)ならこの中を実行するよ」という仕組みです。
条件を満たさない場合は何も表示されません
ステップ②|if 〜 else文で分岐させよう
条件を満たさないときの処理を追加したいときは、else
を使います。
<?php
$score = 65;
if ($score >= 70) {
echo "合格です!";
} else {
echo "残念、不合格です。";
}
?>
ここでは $score
が70未満なので else
側が実行されます。
if → 成功時の処理
else → それ以外のときの処理
という基本パターンですね。
ステップ③|elseifで条件を増やす
複数の条件をチェックしたいときは、elseif
を使います。
<?php
$score = 85;
if ($score >= 90) {
echo "優秀です!";
} elseif ($score >= 70) {
echo "合格です!";
} else {
echo "残念、不合格です。";
}
?>
このように elseif
を使うことで、複数の条件を順番に判定することができます。
ここでは$score
が90未満70以上なので elseif
側が実行されます。
それより下のelse
は70未満で実行されるので残念、不合格です。は表示されません
ステップ④|ifの中にifを書く(入れ子構造)
<?php
$score = 85;
$subject = "国語";
if ($subject === "国語") {
if ($score >= 80) {
echo "国語は優秀です!";
}
}
?>
このように、ifの中にもうひとつifを書くことも可能です。
条件をさらに細かく分けたいときに使います(ただし複雑になりすぎないよう注意)。

私は
if ($subject === “国語”) {
if ($score >= 80) {
if (……) {
はやらないように大体2構造までに意識してます!
ステップ⑤|条件の書き方いろいろ
書き方 | 説明 |
---|---|
== | 値が等しいか |
=== | 型(intやstring)含めて値が等しいか |
!= | 値が等しくないか |
> | 値より大きいか |
< | 値より小さいか |
>= / <= | 値以上 / 値以下 |
&& | AND(両方が真) |
` |
例:70点以上で教科が数学なら「数学合格!」と表示する
if ($score >= 70 && $subject == "数学") {
echo "数学合格!";
}
よくあるミスと注意点
❌ セミコロンをつけてしまう
if ($score >= 70); // ← セミコロンがあると動かない
echo "合格です!";
❌ =
と ==
の混同
if ($score = 70) // ← これは代入になるので注意
練習問題|書いてみよう!
練習問題①:20歳以上なら「おとな」、それ以外は「こども」と表示させてみよう!
<?php
$age = 20;
// ここにif文を記述
?>
答え
if ($age >= 20) {
echo "おとな";
}else{
echo "こども";
}
練習問題②:偶数か奇数かを判定しよう!
変数 $number
に数値が入っています。
その数が 偶数 なら「偶数です」、奇数なら「奇数です」と表示するコードを作りましょう。
<?php
$number = 7;
// ここにif文を書いてください
?>
🟢 ヒント:
偶数とは「2で割ったときにあまりが0になる数」です。
PHPでは %
(剰余演算子)を使って、あまりを計算できます。
答え
if ($number % 2 === 0) {
echo "偶数です";
}else{
echo "奇数です";
}
練習問題③ : 年齢に応じて料金を表示しよう!
変数 $age
に年齢が入っています。年齢に応じて料金を表示するようにしてください。
- 0歳〜5歳:無料
- 6歳〜12歳:500円
- 13歳以上:1000円
<?php
$age = 10;
// ここにif / elseif / else を使って料金を表示するコードを書こう
?>
🟢 ヒント:
年齢の範囲を>=
と<=
でチェックしましょう。範囲の上から順にチェックすると簡単です。
答え
<?php
$age = 10;
if ($age >= 0 && $age <= 5) {
echo "無料です";
} elseif ($age >= 6 && $age <= 12) {
echo "料金は500円です";
} else {
echo "料金は1000円です";
}
?>
📝 解説:
・&& は「かつ」という意味の論理演算子。
・if → elseif → else の順で、条件に合うものだけが実行されます。
・年齢の範囲に応じて条件を正しく分岐させましょう。
おわりに|if文を覚えればPHPがぐっと自由に!
PHPのif文は「条件が合ったときだけ動かす」処理をする大切な構文です。
ログイン判定、点数評価、フォーム入力判定など、あらゆるWebアプリの中で使われます。
次回は「switch文との違い」「三項演算子」など、条件分岐をさらに深掘りしていきましょう!
コメント