多个单独的开关语句

时间:2009-02-07 14:23:56

标签: php default switch-statement case server-side

我在其中一个页面上有多个switch语句,以便将不同的变量传递给URL,以及不同的大小写。我需要这些不同的switch语句,因为我需要不同的变量。

但是,当我在其中一个switch语句中放入“default”时,该默认值适用于所有其他switch语句,因此当我在URL中使用另一个switch语句的变量时,该另一个switch语句的默认情况将出现在屏幕上,以及此切换语句的情况。

我的所有switch语句都有一个或多个案例,我真的无法弄清楚如何解决这个问题。请有人帮帮我吗?

提前致谢, Calum。

2 个答案:

答案 0 :(得分:3)

这可能有点偏,但我认为你需要这样的东西:

if (isset($_POST['myvar'])) {
   switch ($_POST['myvar'] {
      case 1:
      ....
      break;
      default:
      ....
      break;
   }
} else if (isset($_POST['myvar2'])) {
   switch ($_POST['myvar2'] {
      case 1:
      ....
      break;
      default:
      ....
      break;
   }
}

这有意义吗?

答案 1 :(得分:0)

确保你有“休息”;在每个案例结束时的声明,默认情况是最后一个。像这样:

switch ($var) {
    case 1: // do stuff 1;
            break;
    case 3: // do stuff 2;
            break;
    // ...
    default: // do default stuff
}