PHP切换案例$ _GET的变量和切换案例$ _GET的变量值

时间:2013-05-20 13:18:23

标签: php get switch-statement

说我有一个像www.mysite.com/index.php?login=0这样的网址。是否可以切换大小写$ _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;
}

我不确定是否可以在关联数组上使用switch case。我究竟做错了什么?干杯!

3 个答案:

答案 0 :(得分:10)

您必须将开关括在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;
    }
}

答案 1 :(得分:0)

我不认为它会像这样工作,$ _get将返回一个数组,这些比较将无法正常工作。切换语句需要计算为常量。

答案 2 :(得分:-2)

只需使用:

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