
「独習PHP」を元に、要約メモしておきたいと思います。
if命令
if命令はもしも〜だったら…さもなければ…という構文を作成する。
1 2 3 4 5 6 7 8 | <?php $x=10; if ($x==10) { print ('変数$xは10です。') } else { print ('変数$xは10ではありません。') } ?> |
変数$xは10です。
指定された条件式がTRUEの場合に条件式直後のブロックを、FALSEの場合にelse直後のブロックをそれぞれ実行する。
また、elsifブロックを使用することで、複数の分岐を表現することも可能。
1 2 3 4 5 6 7 8 9 10 | <?php $x=15; if ($x>20) { print ('変数$xは20より大きいです。'); } elsif ($x>10) { print ('変数$xは10より大きく、20以下です。'); } else { print ('変数$xは10以下です。'); } ?> |
変数$xは10より大きく、20以下です。
条件1を満たし、かつ条件2がTRUEであるかどうかによって処理を分岐させる場合にはif命令をネスト構造にする。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $x=1; $y=0; if ($x==1) { if ($y==1) { print ('変数$x、$yは1です。'); } else { print ('変数$xは1です。$yは1ではありません。'); } } else { print ('変数$xは1ではありません。'); } ?> |
変数$xは1です。$yは1ではありません。
switch命令
if命令ではせいぜい3分岐(できれば2分岐)程度の単純分岐にとどめ、多岐分岐を表現する場合にはswitch命令を使用する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $rank='甲'; switch ($rank) { case '甲' : print ('大変良いです。'); break; case '乙' : print ('良いです。'); break; case '丙' : print ('もう少しがんばりましょう。'); break; default : print ('???'); break; } ?> |
大変良いです。
それぞれのcaseブロックには複数の命令を指定できるが、必ず最後にbreak命令でswitchブロック全体を明示的に脱出しなければならない。defaultブロックは、caseブロックに合致するものが無かった場合に実行されるブロック。defaultブロックの記述は任意だが、意図しない値が入力(指定)された場合の処理を曖昧にしないためにも、きちんと明示しておく。