複数の条件分岐が発生する処理の実装について知りたいことがあります。
たとえば、下記の図のようにⅠ~Ⅳの、値にパターンのある変数が渡され
そのパターンの組み合わせによって処理を①~⑤に振り分ける場合、どんなプログラムの書き方がありうるでしょうか。
if文に&&とか||で実装する方法しか思いつかないのですが、その他に綺麗な書き方、効率の良い書き方があれば知りたいです。
※自分が使っているのはPHPですが、他の言語でもどんな書き方があるのか知りたいです。
抽象的な質問で恐縮ですが、あまり自分以外の方の実装をみることが少なく後学のために興味を持ったので質問させていただきました。
よろしくお願いいたします。
追記
みなさんからのコメントを頂く前に、自分が書こうとしていたコードを晒します。。!
(いまコメントを確認すると、こんな書き方はしなくてもすみそうですが。。。)
php
1if( 2 ( empty($params['I']) && $params['II'] == "0" && empty($params['III']) 3 || ( empty($params['I']) && $params['III']=="0" ) 4 || ( !isset($params['I']) && $params['II'] =="0" && empty($params['III']) && empty($params['IV']) ) 5 || ( /*....省略*/ ) 6 ) 7 { 8 /* 処理① */ 9}elseif (/*....省略*/) { 10 /* 処理② */ 11}
追記2
質問の文章が悪く恐縮ですが、元々の図の値の意図としては下記でした。
1 ・・・ 文字列の1
0 ・・・ 文字列の0
無 ・・・ 値が空 ""
無効 ・・・ 変数が存在しない
※念のため追記しておきます。
回答7件
あなたの回答
tips
プレビュー