切换的替代语法

Dra*_*ex_ 9 php

嘿,PHP中的switch语句有另一种语法,但是这段代码不起作用:

<div>
<?php switch($variable): ?>
<?php case 1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php endswitch;?>
</div>
Run Code Online (Sandbox Code Playgroud)

解析错误:语法错误,意外的T_INLINE_HTML,期待T_ENDSWITCH或T_CASE或T_DEFAULT在/ path/to/file行#

Dra*_*ex_ 20

为解决这个问题,是把switch($variable):case 1:成PHP代码相同的块:

<div>
<?php switch($variable): 
case 1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php endswitch;?>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 没关系.[这个答案](http://stackoverflow.com/a/6096600/259457)提供了一些解释.你基本上是插入一个换行符,它不能直接在`switch`语句中使用(在`case`s之外.在`if`语句或循环中,有一个换行符不是问题,但是`switch`是不同的. (2认同)