Php 开关的替代语法
嘿,PHP中的switch语句有另一种语法,但这段代码不起作用:Php 开关的替代语法,php,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>
<?php switch($variable): ?>
<?php case 1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php endswitch;?>
</div>
新闻页
论坛
分析错误:语法错误,意外的T_INLINE_HTML,应为
T_ENDSWITCH或T_CASE或T_DEFAULT in/path/to/file on line#
此问题的解决方案是将带有
案例1:
的开关($variable):
放入相同的PHP代码块中:
<div>
<?php switch($variable):
case 1: ?>
<div>
Newspage
</div>
<?php break;?>
<?php case 2: ?>
</div>
Forum
<div>
<?php break;?>
<?php endswitch;?>
</div>
新闻页
论坛
这与中的注释中的示例相同,但是否有可以解释的原因来解释为什么这样做有效,但问题中的代码没有?或者它只是PHP中的一个bug?没关系。提供了一些解释。基本上是插入换行符,这在switch
语句中是不允许的(在case
s之外)。在if
语句或循环中,换行符不是问题,但switch
是不同的。