在switch case语句中php开启标记之前的领先空间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在switch case语句中php开启标记之前的领先空间相关的知识,希望对你有一定的参考价值。
正如您所看到的,在case 1:
行中打开标记之前有一个领先的空间:
$var = 1;
switch ($var):
?>
<?php case 1:?> // BUGGY LINE
<?php
echo 1;
break;
case 2:
echo 2;
break;
endswitch;
?>
它产生错误:
( ! ) Parse error: syntax error, unexpected ' ', expecting endswitch (T_ENDSWITCH) or case (T_CASE) or default (T_DEFAULT)
如果我删除那个空间,一切都OK。
是什么原因?
答案
这是(switch)控制结构的替代语法的默认行为。正如documentation所述:
switch语句和第一种情况之间的任何输出(包括空格)都将导致语法错误。
无论你在那里放置1个空格还是只放任何字符都会引发错误。在switch语句的开头和switch语句的下一段(case
,default
或endswitch
)之间不应该有任何东西。
以上是关于在switch case语句中php开启标记之前的领先空间的主要内容,如果未能解决你的问题,请参考以下文章
这个PHP流程判断switch语句哪里出错了?为啥不执行default后面的语句