作品:
<?php switch ($student[$use_grade]) {
case "K": ?>
<?php echo 'works'; ?>
<?php break; ?>
<?php } ?>
不起作用:
<?php switch ($student[$use_grade]) { ?>
<?php case "K": ?>
<?php echo 'works'; ?>
<?php break; ?>
<?php } ?>
分析错误:语法错误,意外的T_INLINE_HTML,应为T_CASE或T_DEFAULT或"}">
来自PHP的注释文档:
在switch语句的情况下,可以理解如下;在里面任何可以有echo语句的地方(if块、switch的情况,不管怎样(,这就是您可以获得原始HTML的地方。在里面PHP基本上就是这样处理的——就像一个echo陈述
不过,在切换和案例之间,你不能回声任何东西。通过将开关和案例放在两个独立的PHP块中原始HTML换行符介于两者之间,PHP基本上不得不尝试找到该语句的位置。但它不可能在那里,因此困难
http://www.php.net/manual/en/control-structures.alternative-syntax.php
内联html(?>
和<?php
之间的所有内容(在语法上与运算符相同,并且在switch
和第一个case
之间不允许使用运算符。
来自PHP文档:
switch语句和第一种情况将导致语法错误。