9
Hey hay una sintaxis alternativa para sentencia switch en PHP, pero este código no funciona:Sintaxis alternativa para el interruptor
<div>
<?php switch($variable): ?>
<?php case 1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php endswitch;?>
</div>
Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT in /path/to/file on line #
Este es el mismo ejemplo de los comentarios en el [documentación PHP] (http://www.php.net/manual/en/control-structures.alternative-syntax.php#80668) , pero ¿hay un explicable ¿Por qué esto funciona, pero el código en la pregunta no? ¿O es solo un error en PHP? – Travesty3
No importa. [Esta respuesta] (http://stackoverflow.com/a/6096600/259457) proporciona alguna explicación. Básicamente estás insertando un salto de línea, que no está permitido directamente dentro de una instrucción 'switch' (fuera de' case's. En una instrucción 'if' o en un loop, no es un problema tener un salto de línea, pero 'switch' es diferente. – Travesty3