複数の条件で処理を分けたい場合は、「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 件のコメント