【PHP】条件分岐の使い方【if, else, elseif, switch】
if文の基本構文
PHPの`if`文は条件分岐を行うために使用されます。基本的な構文は以下の通りです。
if (条件) {
// 条件が真(true)のときに実行されるコード
}
例:
$age = 20;
if ($age >= 18) {
echo "あなたは成人です。";
}
if-else文
`if`文に`else`を追加することで、条件が偽の場合の処理を指定できます。
if (条件) {
// 条件が真(true)のときに実行されるコード
} else {
// 条件が偽(false)のときに実行されるコード
}
例:
$age = 16;
if ($age >= 18) {
echo "あなたは成人です。";
} else {
echo "あなたは未成年です。";
}
elseif文
`elseif`を使用すると、複数の条件を順番に評価できます。
if (条件1) {
// 条件1が真の場合の処理
} elseif (条件2) {
// 条件1が偽で、条件2が真の場合の処理
} else {
// どの条件にも当てはまらない場合の処理
}
例:
$score = 75;
if ($score >= 90) {
echo "評価: A";
} elseif ($score >= 70) {
echo "評価: B";
} else {
echo "評価: C";
}
ネストされたif文
`if`文の中に`if`文を入れることができます。これを「ネスト」といいます。
if (条件1) {
if (条件2) {
// 条件1と条件2がともに真の場合の処理
}
}
例:
$age = 25;
$hasLicense = true;
if ($age >= 18) {
if ($hasLicense) {
echo "運転できます。";
} else {
echo "免許が必要です。";
}
} else {
echo "18歳以上でないと運転できません。";
}
三項演算子
三項演算子を使うと、`if-else`の簡潔な記述が可能です。
変数 = (条件) ? 真の場合の値 : 偽の場合の値;
例:
$age = 20;
$message = ($age >= 18) ? "成人" : "未成年";
echo $message;
switch文との比較
`switch`文は、複数の値を比較する場合に便利です。
switch (変数) {
case 値1:
// 変数が値1の場合の処理
break;
case 値2:
// 変数が値2の場合の処理
break;
default:
// どのケースにも当てはまらない場合の処理
}
例:
$day = "火曜日";
switch ($day) {
case "月曜日":
echo "今日は月曜日です。";
break;
case "火曜日":
echo "今日は火曜日です。";
break;
default:
echo "今日は月曜日でも火曜日でもありません。";
}
if-elseとの違いとして、`switch`は等価比較(===)を行うため、数値と文字列の違いを厳密に判定できます。
まとめ
PHPの`if`文を使うことで、プログラムの流れを制御できます。基本的な`if`文から、`if-else`、`elseif`、ネスト、三項演算子、`switch`との比較まで紹介しました。用途に応じて適切な方法を選びましょう。