Znarkus Znarkus - 1 year ago 107
PHP Question

Switch statement in PHP injected HTML

<? switch ($var): ?>
<? case 1: ?>
It's 1!
<? break ?>
<? endswitch ?>

I want to do something like that, in other words use the switch statement in PHP templates. This is possible with the if statement. The above code generates
Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT
in PHP 5.3. The PHP docs suggests that this should be possible.

Can someone confirm that this doesn't work, or rather, tell me what I'm doing wrong?


Answer Source

I read in the php doc that your example should not work.

Any output (including whitespace) between a switch statement and the first case will result in a syntax error. For example, this is invalid

Try this instead:

<?php switch($variable): 
case 1: ?>
<?php break; ?>
<?php case 2: ?>
<?php break; ?>
<?php endswitch; ?>


Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download