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