【问题标题】:Leading space before php opening tag in switch case statementswitch case语句中php开始标记前的前导空格
【发布时间】:2018-05-17 09:48:07
【问题描述】:

如您所见,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)

如果我删除那个空间,一切都会好的。

是什么原因?

【问题讨论】:

    标签: php switch-statement php-parse-error


    【解决方案1】:

    这是(切换)控制结构的替代语法的默认行为。如documentation所述:

    switch 语句和第一个 case 之间的任何输出(包括空格)都会导致语法错误。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 2013-09-24
      • 1970-01-01
      相关资源
      最近更新 更多