PHPにおける条件文(if文、switch文など)は、プログラミングにおいて非常に重要な要素であり、処理を特定の条件に基づいて分岐させるために使用されます。この記事では、PHPの条件文について、基本的な構文から応用的な使い方までを詳しく説明します。
1. if 文の基本
PHPで最も基本的な条件文はif文です。if文は、指定した条件が真(true)の場合にブロック内のコードを実行します。構文は次のようになります。
phpif (条件) {
// 条件が真の場合に実行されるコード
}
例:
php$age = 20;
if ($age >= 18) {
echo "成人です";
}
この例では、$ageが18以上であれば、「成人です」と表示されます。
2. else 文
if文に続けてelseを使うことで、条件が偽(false)の場合に実行するコードを指定できます。elseは、ifの条件が満たされなかった場合に実行されます。
phpif (条件) {
// 条件が真の場合に実行されるコード
} else {
// 条件が偽の場合に実行されるコード
}
例:
php$age = 16;
if ($age >= 18) {
echo "成人です";
} else {
echo "未成年です";
}
この場合、$ageが18未満であるため、「未成年です」と表示されます。
3. else if 文
else if文を使うことで、複数の条件を順番にチェックすることができます。else ifはifの条件が偽の場合に次の条件を評価するために使われます。
phpif (条件1) {
// 条件1が真の場合に実行されるコード
} else if (条件2) {
// 条件1が偽で、条件2が真の場合に実行されるコード
} else {
// すべての条件が偽の場合に実行されるコード
}
例:
php$score = 75;
if ($score >= 90) {
echo "優秀";
} else if ($score >= 60) {
echo "合格";
} else {
echo "不合格";
}
この例では、$scoreが75であるため、「合格」と表示されます。
4. 論理演算子を使用した複数条件の評価
PHPでは、&&(論理積、AND)や||(論理和、OR)を使用して、複数の条件を同時に評価することができます。
-
&&(AND演算子)は、すべての条件が真の場合に真を返します。 -
||(OR演算子)は、いずれかの条件が真の場合に真を返します。
例:
php$age = 20;
$has_permission = true;
if ($age >= 18 && $has_permission) {
echo "アクセス許可";
} else {
echo "アクセス拒否";
}
この例では、$ageが18以上で、かつ$has_permissionがtrueであれば、「アクセス許可」と表示されます。
5. switch 文
switch文は、複数の条件をチェックする場合に非常に便利です。switch文は指定した変数の値に応じて、異なるケース(case)を実行する構文です。
phpswitch (式) {
case 値1:
// 値1の場合の処理
break;
case 値2:
// 値2の場合の処理
break;
default:
// どのケースにも一致しない場合の処理
}
例:
php$day = "月曜日";
switch ($day) {
case "月曜日":
echo "今日は月曜日です";
break;
case "火曜日":
echo "今日は火曜日です";
break;
default:
echo "その他の日";
}
この場合、$dayが「月曜日」であるため、「今日は月曜日です」と表示されます。
6. switch文の他の特徴
switch文には、break以外にもcontinueやreturnなどの制御構文を使用することができます。breakは、条件に一致するケースを実行した後、switch文から抜け出すために使用します。もしbreakを省略すると、次のcaseも実行されてしまいます(これを「フォールスルー」といいます)。
例(フォールスルー):
php$day = "月曜日";
switch ($day) {
case "月曜日":
case "火曜日":
echo "仕事の始まりです";
break;
case "水曜日":
echo "中日です";
break;
default:
echo "その他の日";
}
この場合、「月曜日」や「火曜日」が指定されると、「仕事の始まりです」が表示されます。
7. 条件文を使った繰り返し処理との組み合わせ
条件文は、for文やwhile文、foreach文と組み合わせて使うことがよくあります。例えば、for文で繰り返し処理を行い、条件を満たす場合に特定の処理を実行する場合などです。
例:
phpfor ($i = 0; $i < 10; $i++) {
if ($i % 2 == 0) {
echo $i . "は偶数です\n";
} else {
echo $i . "は奇数です\n";
}
}
この例では、$iが偶数の場合に「偶数です」、奇数の場合に「奇数です」と表示されます。
8. 条件演算子(Ternary Operator)
PHPには、簡潔な条件文として条件演算子(?:)があります。この演算子は、if文を1行で書くために使います。
php条件 ? 条件が真の場合の処理 : 条件が偽の場合の処理;
例:
php$age = 18;
echo ($age >= 18) ? "成人です" : "未成年です";
この例では、$ageが18以上であれば「成人です」、それ以外の場合は「未成年です」と表示されます。
結論
PHPの条件文は、プログラムの流れを制御するために欠かせない機能です。if文やswitch文、そして論理演算子を活用することで、複雑な条件を効率的に処理することができます。また、条件演算子を使うことで、コードを簡潔に保つことができるため、状況に応じて使い分けることが大切です。
