Точка с запятой после регистра, допустимого в операторе переключения PHP? - PullRequest
6 голосов
/ 13 февраля 2012

Я отлаживаю некоторый код для клиента и нашел следующий синтаксис:

switch ($i) {
    case 0;
        echo "i equals 0";
        break;
    case 1;
        echo "i equals 1";
        break;
    case 2;
        echo "i equals 2";
        break;
}

Операторы case заканчиваются точкой с запятой, а не двоеточием.Оказывается, это компилируется, но законно ли это?Я никогда раньше не видел этот синтаксис.

Ответы [ 3 ]

12 голосов
/ 13 февраля 2012

Из документации :

Можно использовать точку с запятой вместо двоеточия после случая, подобного:

switch($beer)
{
    case 'tuborg';
    case 'carlsberg';
    case 'heineken';
        echo 'Good choice';
    break;
    default;
        echo 'Please make a new selection...';
    break;
}
0 голосов
/ 13 февраля 2012

Как вы можете проверить здесь, это работает: http://codepad.org/hOLQP98D я думаю, что это работает, потому что оно проваливается

0 голосов
/ 13 февраля 2012

Да, так же, как $i имеет числовое значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...