[PHP]超入門:if文・switch文の使い方:状況に応じて出し分ける基本

PHPでは「ある条件に当てはまる場合はAの処理を行い、それ以外の場合はBの処理を行う」といったように、条件に応じて処理を分けることができます。
これを条件分岐といいます。
ここでは、条件分岐を実現するための基本構文である「if文」と「switch文」の使い方を解説します。
if文の使い方
条件分岐の基本となるのがif文です。
条件が真(true)かどうかを判断し、真なら処理を実行します。
基本形:if
ifは「条件を満たすときだけ処理を実行したい」場合に使います。
|
1 2 3 4 5 |
<?php if (条件) { // 条件がtrueの場合に実行される処理 } ?> |
サンプルコード
|
1 2 3 4 5 6 7 8 |
<?php $a = 100; $b = 50; if ($a > $b) { echo 'aはbよりも大きいです'; } ?> |
実行結果
aはbよりも大きいです
if ~ else
elseを使うと、「条件を満たす場合」と「満たさない場合」で処理を分けることができます。
|
1 2 3 4 5 6 7 |
<?php if (条件) { // 条件がtrueの場合の処理 } else { // 条件がfalseの場合の処理 } ?> |
サンプルコード
|
1 2 3 4 5 6 7 8 9 10 |
<?php $a = 50; $b = 100; if ($a > $b) { echo 'aはbよりも大きいです'; } else { echo 'aはbよりも小さいです'; } ?> |
実行結果
aはbよりも小さいです
elseif:複数の条件を判断したいとき
elseifを使えば、複数の条件を上から順に条件を判定していき、最初に真(true)になった処理を実行します。
|
1 2 3 4 5 6 7 8 9 |
<?php if (条件1) { // 条件1がtrueの処理 } elseif (条件2) { // 条件2がtrueの処理 } else { // どの条件にも当てはまらない場合の処理 } ?> |
サンプルコード
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $a = 50; $b = 50; if ($a > $b) { echo 'aはbよりも大きいです'; } elseif ($a == $b) { echo 'aとbは等しいです'; } else { echo 'aはbよりも小さいです'; } ?> |
実行結果
aとbは等しいです
if文の処理の流れ

switch文の使い方
次に紹介するのは switch文です。
これは、変数の値に応じて処理を分けたいときに便利な構文です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php switch (変数) { case 値1: // 変数が値1のときの処理 break; case 値2: // 変数が値2のときの処理 break; default: // どのcaseにも当てはまらない場合の処理 break; } ?> |
breakは、処理が終わったあと、それ以降のcaseは実行されないようにするための命令です。breakがないと、次のcaseまで実行されてしまうので注意。defaultは、どのcaseにも当てはまらなかったときの処理です。
サンプルコード
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $pet = 2; switch ($pet) { case 1: echo 'ペットはいぬです'; break; case 2: echo 'ペットはねこです'; break; case 3: echo 'ペットはとりです'; break; default: echo 'ペットを飼っていません'; break; } ?> |
実行結果
ペットはねこです
switch文の処理の流れ

まとめ
| 分岐方法 | 向いているケース |
|---|---|
if / else / elseif |
数値や文字列の比較、関数の戻り値を使った条件判定など、柔軟な条件分岐を行いたい場合 |
switch |
特定の値(整数・文字列など)に応じて処理を分けたい場合 |
[PHP] 超入門 シリーズ
・[PHP]超入門:論理演算子とは?&&・||・and・or の違いと使い方をわかりやすく解説
・[PHP] 超入門:演算子とは?算術・比較演算子の違いと使い方をやさしく解説!
・[PHP] 超入門:変数とデータ型の使い方:string・int・arrayの基礎をやさしく解説
・[PHP] 超入門:HTMLとPHPがどうつながるか、ざっくり理解しよう
・[PHP] 超入門:echo・改行・コメントの基本:出力の仕組みをやさしく解説
![MARKLEAPS[マークリープス]](https://markleaps.com/blog/wp-content/themes/mkl/images/00_logo.png)

![[PHP]超入門:配列の使い方を基礎からやさしく解説!複数の値を1つの変数にまとめて扱う方法](https://markleaps.com/blog/wp-content/uploads/2025/06/php-array-basics-500x254.jpg)
![[PHP]超入門:論理演算子とは?&&・||・and・or の違いと使い方をわかりやすく解説](https://markleaps.com/blog/wp-content/uploads/2025/06/php-logical-operators-500x254.jpg)
![[PHP] 超入門:演算子とは?算術・比較演算子の違いと使い方をやさしく解説!](https://markleaps.com/blog/wp-content/uploads/2025/05/php-operators-beginner-500x254.jpg)
![[PHP] 超入門:変数とデータ型の使い方:string・int・arrayの基礎をやさしく解説](https://markleaps.com/blog/wp-content/uploads/2025/05/php-variable-datatype-500x254.jpg)