开关大小写语句中 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)

如果我删除该空间,一切都很好。

原因是什么?

这是(开关(控制结构的替代语法的默认行为。如文档所述:

switch 语句和第一种情况之间的任何输出(包括空格(都将导致语法错误。

无论你在那里放 1 个空格还是任何字符,它都会抛出错误。switch 语句的开头和 switch 语句的下一段(casedefaultendswitch(之间不应该有任何内容。

相关内容

  • 没有找到相关文章

最新更新