Скажем, у меня есть 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