[PHP] else if の代わりに使いたい見やすい書き方 : してログ

[PHP] else if の代わりに使いたい見やすい書き方

複数の条件で処理を分けたい場合は、「if ~ else if ~」といった繰り返しでコードを記述すると思いますが、条件式の開始位置が合わず、どうやっても美しいとは言えないコードになります。同じような条件分岐に、「switch ~ case」文もありますがこちらを多少トリッキーな書き方をすることで、見やすいコードにすることができます。

if ~ else if で記述した場合

if ($val1==1) {
	$color = 'red';
} else if ($val2==1) {
	$color = 'orange';
} else if ($val3==1) {
	$color = 'yellow';
} else if ($val4==1) {
	$color = 'purple';
} else {
	$color = 'default';
}

switch (true) ~ case で記述した場合

switch (true) {

case $val1==1:
	$color = 'red';
	break;

case $val2==1:
	$color = 'orange';
	break;

case $val3==1:
	$color = 'yellow';
	break;

case $val4==1:
	$color = 'purple';
	break;

default:
	$color = 'default';

}

このように通常は変数を記述する部分に true と入れることで、各 case 文に条件式を記述することができます。人によっては break 文が余計で嫌とか思うかも知れませんが、条件式の開始桁が揃って見やすくなるので、直観的には分かりやすい書き方だと思います。

0 件のコメント
名前:
コメント: