Switch statement in PHP injected HTML
php, switch-statement, templates
Solution
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:
<div>
<?php switch($variable):
case 1: ?>
<div>
Newspage
</div>
<?php break; ?>
<?php case 2: ?>
</div>
Forum
<div>
<?php break; ?>
<?php endswitch; ?>
</div>
http://php.net/control-structures.alternative-syntax
Problem
``` <? 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? Thanks.