更新时间:2022-10-16 12:58:54
您必须将开关放在foreach()循环中。
foreach($ _GET as $ key => $ value){
switch($ key){
'login':
开关($ value){
case'0':
echo'登录失败!';
休息;
case'1':
echo'登录成功。';
休息;
}
break;
case'register':
switch($ value){
case'0':
echo'注册失败!';
休息;
case'1':
echo'谢谢您注册。';
休息;
}
break;
默认值:
echo'其他消息';
休息;
}
}
Say I have an URL like www.mysite.com/index.php?login=0
. Is it possible to switch case $_GET's variables and switch case $_GET's variable's values?
Something like:
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;
}
I'm not sure if switch case can be used on associative arrays. What am I doing wrong? Cheers!
You have to enclose the switch in a foreach() loop.
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;
}
}