Пробел перед открывающим тегом php в операторе switch case - PullRequest
0 голосов
/ 17 мая 2018

Как видите, перед открывающим тегом в строке case 1: стоит пробел:

$var = 1;
switch ($var):

?>
 <?php case 1:?> // BUGGY LINE
    <?php
        echo 1;
        break;
    case 2:
        echo 2;
        break;
endswitch;
?>

выдает ошибку:

( ! ) Parse error: syntax error, unexpected ' ', expecting endswitch (T_ENDSWITCH) or case (T_CASE) or default (T_DEFAULT)

Если я уберу это место, все будет в порядке.

В чем причина?

1 Ответ

0 голосов
/ 17 мая 2018

Это поведение по умолчанию альтернативного синтаксиса для (переключения) структур управления.Как указано в документации :

Любой вывод (, включая пробел ) между оператором switch и первым случаем приведет к синтаксической ошибке.

Неважно, если вы поставите там 1 пробел или просто любой символ, он выдаст ошибку.Между началом оператора switch и следующей частью оператора switch не должно быть ничего (a case, default или endswitch).

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