【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文を使って複雑な分岐が記述できる
  • 比較演算子や論理演算子を組み合わせて、柔軟な判定が可能
  • 変数の値や条件に合わせて適切な分岐処理を設計しよう

 条件分岐を使いこなせると、より賢く柔軟なプログラムを作成できます。さまざまなサンプルを試して理解を深めましょう。