默认大小写=最后一个大小写


Default case = last case

我想切换并将默认大小写设置为最后一个valid大小写。

$x = date("d"); // I get the current day
switch ($x) {
case 1:
    echo "bla bla bla 1"; break;
case 2:
    echo "bla bla bla 2"; break;
case 3:
    echo "bla bla bla 3"; break;
case 7:
    echo "bla bla bla 4"; break;
default:
    //Here I need to throw the last valid case.  

例如,如果今天是5,我的最后一个有效选项将是3,所以我的默认情况应该是情况3。

是否可以使用开关箱?如果没有,有什么办法可以做到吗?}

你可以像这样堆叠它们。

switch ($x) {
case 1:
    echo "bla bla bla 1";
break;
case 2:
    echo "bla bla bla 2";
break;
case 3:
case 4:
case 5:
    echo "bla bla bla 3";
break;
case 6:
case 7:
    echo "bla bla bla 4";
break;
default:
} // don't forget this bracket its not in you original example.

作为一个边注,我通常会避免当你把"这里我需要抛出最后一个有效的情况。"在默认情况下,并使用它来错误检查输入,很难说,因为我不知道它来自哪里,但是,你可以验证这里的输入,如果你知道最后一个将是什么,只是为它设置一个情况,有人可能会认为你在以后的时间忘记了它。

这就是我所说的一个简单的类

class LottoWeeks {
   const Monday = 1;
   const Tuesday = 2;
  /// etc...
}

然后在你的开关

switch ($x) {
case LottoWeeks::Monday:
    echo "bla bla bla 1";
break;
case LottoWeeks::Tuesday:
    echo "bla bla bla 2";
break;
//ect...
default:
   echo 'Invalid week'; //or other error message.

读起来好多了。你可以看着它,而不必再去想今天是几号等等。