Оператор переключения PHP внутри другого оператора переключения

У меня такая ситуация, когда мне нужно проверить две переменные GET. После проверки первой переменной в одном операторе переключения внутри оператора необходимо проверить вторую переменную во втором операторе переключения внутри первого цикла case.

Я не могу опубликовать здесь точный код, но вот пример:

<?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');

    switch($_GET['parent']){
        case 'child1':
            if(!isset($_GET['child'])){
                echo "Only parent";
            }
            else{
                switch($_GET['child']){
                    case 'test':
                        echo 'test';
                        break;
                }
            }
            break;

        case 'child2':
            echo 'child2';
            break;

        default:
            echo $_GET['parent'];
    }
?>

Он отлично работает с этим примером кода, но когда я действительно использую эту процедуру на моем сервере, элемент управления пропускается по умолчанию на родительском переключателе оператор, даже если он имеет совпадающее значение case.

Об ошибках не сообщается, и я не мог отлаживать больше, чем до этого уровня.

Я знаю, что вы хотите увидеть код, но я не могу разместить его здесь. По крайней мере, вы можете помочь мне отладить больше.

12
задан Peter Mortensen 14 July 2019 в 18:01
поделиться