gpt4 book ai didi

PHP switch 语句 (endswitch) 给出了替代语法的解析错误

转载 作者:行者123 更新时间:2023-12-04 12:12:46 27 4
gpt4 key购买 nike

我收到 Parse error: syntax error, unexpected '', expecting endswitch (T_ENDSWITCH) or case (T_CASE) or default (T_DEFAULT) in ...使用以下代码

myview.phtml

<?php switch ($oEx->getCode()): ?>

<?php default: ?>
Stuff

<?php endswitch; ?>

this is OK
<?php switch ($oEx->getCode()):

endswitch; ?>

为什么? 解决方法是添加 a dummy-case as below在结束标记之前,但我不明白为什么这是必要的。
<?php switch ($oEx->getCode()): case -9999: break; ?>

<?php default: ?>
Stuff

<?php endswitch; ?>

最佳答案

manual :

Warning Any output (including whitespace) between a switch statement and the first case will result in a syntax error. For example, this is invalid:


<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>

Whereas this is valid, as the trailing newline after the switch statement is considered part of the closing ?> and hence nothing is output between the switch and case:


<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch ?>

问题不在于结尾的 PHP 标记,而在于空格。我想如果你修改你的原始代码如下,它应该摆脱你的语法错误:
<?php switch ($oEx->getCode()): ?>
<?php default: ?>
Stuff
<?php endswitch; ?>

请注意,所做的唯一更改是删除了 switch 之间的换行符。声明和 default案件。

关于PHP switch 语句 (endswitch) 给出了替代语法的解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28458543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com