Случай переключения PHP $ _GET и значение переменной switch $ _GET

Скажем, у меня есть URL-адрес, например, www.mysite.com/index.php?login=0 . Можно ли переключать переменные case $ _GET и значения переменной переменной $ _GET?

Что-то вроде:

 switch ($_GET) { case 'login' : switch($_GET['login']) { case '0' : echo 'Login failed!'; break; case '1' : echo 'Login successful.'; break; } break; case 'register' : switch ($_GET['register']) { case '0' : echo 'Registration failed!'; break; case '1' : echo 'Thank you for registering.'; break; } break; default : echo 'Some other message'; break; } 

Я не уверен, что случай переключения можно использовать на ассоциативных массивах. Что я делаю не так? Ура!

Вы должны заключить коммутатор в цикл foreach ().

 foreach ($_GET as $key => $value) { switch ($key) { case 'login' : switch ($value) { case '0' : echo 'Login failed!'; break; case '1' : echo 'Login successful.'; break; } break; case 'register' : switch ($value) { case '0' : echo 'Registration failed!'; break; case '1' : echo 'Thank you for registering.'; break; } break; default : echo 'Some other message'; break; } } 

Я не думаю, что это будет работать так, $ _get вернет массив, и эти сравнения не будут работать. Операторы switch должны оценивать константу.

Просто используйте это:

 switch($_GET['key']) //it will return you value of particular parameter. case 'value1': //write your statement here. break; case 'value2': //write your statement here. break; //and so on