Несколько отдельных операторов переключателя - PullRequest
0 голосов
/ 07 февраля 2009

У меня есть несколько операторов switch на одной из страниц, чтобы передать разные переменные в URL, а также разные регистры. Мне нужны эти разные операторы switch, потому что мне нужны разные переменные.

Однако, когда я помещаю «default» в один из операторов switch, это значение по умолчанию применяется ко всем другим операторам switch, и поэтому, когда я использую переменную другого оператора switch в URL, случай по умолчанию этого другого оператора switch появится на экране вместе со случаем этого оператора switch.

У всех моих операторов switch есть один или несколько случаев, и я действительно не могу понять, как обойти это. Пожалуйста, кто-нибудь может мне помочь?

Заранее спасибо, Calum.

Ответы [ 2 ]

3 голосов
/ 07 февраля 2009

Это может быть далеко, но я думаю, вам нужно что-то вроде этого:

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;
   }
}

Имеет ли это смысл?

0 голосов
/ 07 февраля 2009

убедитесь, что у вас есть "перерыв"; заявление в конце каждого из ваших дел, и что дело по умолчанию является последним. как это:

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