Как видите, перед открывающим тегом в строке 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)
Если я уберу это место, все будет в порядке.
В чем причина?