
【6日でできるPHP入門】条件分岐
プログラムを作成するとき、「条件によって処理を分けたい」場面はとても多くあります。
たとえば「点数が60点以上なら合格、それ未満なら不合格と表示したい」など、条件に応じてプログラムの流れを変えたいときに使うのが「条件分岐」です。PHPではif文やelse if文、else文を使って柔軟な分岐処理が書けます。この記事では、基本から複雑な条件分岐までを具体的な例で解説します。

1.条件分岐の基本
1.1. if文の使い方
if文は「もし条件が成立したら、特定の処理を行う」という書き方です。
構文例 | 処理内容 |
---|---|
if ($score >= 80) { echo "優秀です"; } | $scoreが80以上のとき実行 |
サンプル1:基本のif文
ファイル名: lesson28_1.php
<?php
$score = 85;
if ($score >= 80) {
echo "合格です!";
}
?>
実行結果

解説
$score
が80以上のときだけ「合格です!」と表示されます。- 条件が成り立たない場合は何も表示されません。
1.2. if~else文の使い方
if文だけだと「条件に合わない場合」の処理ができません。
elseを使えば、「そうでない場合」の処理も記述できます。
構文例 | 処理内容 |
---|---|
if ($age >= 18) { ... } else { ... } | 18歳以上と未満で分岐 |
サンプル2:if~else文
ファイル名: lesson28_2.php
<?php
$age = 15;
if ($age >= 18) {
echo "大人料金です。";
} else {
echo "子供料金です。";
}
?>
実行結果

2.複数の条件分岐
2.1. if~else if~else文
複数の条件がある場合、else ifを使って順に判定できます。
構文例 | 処理内容 |
---|---|
if ($x == 1) { ... } else if ($x == 2) { ... } else { ... } | $xの値によって分岐 |
サンプル3:if~else if~else文
ファイル名: lesson28_3.php
<?php
$signal = "青";
if ($signal === "赤") {
echo "止まれ";
} else if ($signal === "黄") {
echo "注意して進む";
} else if ($signal === "青") {
echo "進んでよい";
} else {
echo "信号が不明です";
}
?>
実行結果

解説
$signal
の値によってメッセージが変わります。- どの条件にも当てはまらない場合は「信号が不明です」が表示されます。
2.2. if文のネスト(入れ子)
if文の中にさらにif文を書くことで、複雑な条件分岐も可能です。
サンプル4:if文のネスト
ファイル名: lesson28_4.php
<?php
$point = 70;
if ($point >= 60) {
if ($point >= 80) {
echo "とてもよい成績です";
} else {
echo "合格です";
}
} else {
echo "不合格です";
}
?>
実行結果

3.条件分岐の演算子とポイント
3.1. 比較演算子と論理演算子
演算子 | 説明 | 例 |
---|---|---|
== | 等しい | $x == 5 |
=== | 型も含めて等しい | $y === "5" |
!= | 等しくない | $z != 10 |
> | より大きい | $a > 3 |
< | より小さい | $b < 7 |
>= | 以上 | $c >= 0 |
<= | 以下 | $d <= 100 |
&& | かつ(AND) | $a > 0 && $a < 10 |
3.2. switch文との違い
複雑な値の一致だけを分岐したい場合はswitch文も利用できます(詳細は次章で解説)。
まとめ
- 条件分岐はプログラムの流れを条件ごとに分けて実行できる仕組み
- PHPではif文・else if文・else文を使って複雑な分岐が記述できる
- 比較演算子や論理演算子を組み合わせて、柔軟な判定が可能
- 変数の値や条件に合わせて適切な分岐処理を設計しよう
条件分岐を使いこなせると、より賢く柔軟なプログラムを作成できます。さまざまなサンプルを試して理解を深めましょう。