case文でORを評価する方法があります場合、私は、次のような、不思議でした。私が試した
またはオペレータ
case 0 || 3:
echo "equal to 0 or 3!";
break;
||ちょっと戻って、それは私のために働くようには見えなかったし、Googleが役に立ったと証明しなかった。
ケース内のオペレータが非常に便利だったいくつかの状況があったので、私はちょうどこれについて疑問に思っています...
助けていただければ幸いです。
case文でORを評価する方法があります場合、私は、次のような、不思議でした。私が試した
またはオペレータ
case 0 || 3:
echo "equal to 0 or 3!";
break;
||ちょっと戻って、それは私のために働くようには見えなかったし、Googleが役に立ったと証明しなかった。
ケース内のオペレータが非常に便利だったいくつかの状況があったので、私はちょうどこれについて疑問に思っています...
助けていただければ幸いです。
あなたが最初にしたい状況で、あなたは(本当にまたはswitch
をチェックする非厳密に起因する任意の値「true」、)switch(true)
を使用することができますtrue
ケース。
switch(true){
case ($foo >= 0):
break;
case ($bar <= 0):
break;
case ($baz == 0):
break;
case ($foo > $bar && $bar < $baz):
break;
default:
break;
}
ただし、読みやすいと判明したり、より制御しやすい構文上の選択肢があります。
@alexは、複数のケースが同じコードブロックに解決されることを望んでいる場合は、それらをスタックしてフォールスルーすることができます。
ケースが転倒する可能性があります。
case 0:
case 3:
echo "equal to 0 or 3!";
break;
多くのスタイルガイドではこれをお勧めしません。ブール値に解決論理演算子および比較演算子で作業する場合
多くのスタイルガイドが間違っています。しかし、一般的にフォールススルーを利用することで、物事をもっと難しくすることができます。 2つのケースの間に何か(休憩なし)があれば、今悔い改めましょう。 :) – cHao