【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 |
特定の値(整数・文字列など)に応じて処理を分けたい場合 |