我收到此错误消息
解析错误:语法错误,意外 $ end in E:\ XAMPP \ htdocs中\公告\ announcement.php 在第143行
第143行是PHP文件的最后一行。 当我发表评论时
$htmlcode=<<<eod
<div>$question</div>
<div>$option1 $option2 $option3 $option4</div><br/>
eod;
echo $htmlcode;
错误消失了。 怎么了?
答案 0 :(得分:4)
eod;
非常重要的是要注意到 具有结束标识符的行必须 不包含其他字符 可能是分号(;)。这意味着 特别是标识符可能不会 缩进,可能没有 在之前或之后的空格或制表符 分号。这也很重要 意识到第一个角色 在结束标识符之前必须 由本地定义的换行符 操作系统。这是UNIX上的\ n 系统,包括Mac OS X. 关闭分隔符(可能跟随 必须遵循分号 换行。
答案 1 :(得分:2)
我在eod;
之后发现了什么,你在那里有一些空白。
删除空格,它会正常工作。
测试:
<?php
$htmlcode=<<<eod
<div>$question</div>
<div>$option1 $option2 $option3 $option4</div><br/>
eod;
echo $htmlcode;
?>
答案 2 :(得分:1)
将heredoc
块中的变量名称包含在{
和}
中,如下所示:
$htmlcode=<<<eod
<div>{$question}</div>
<div>{$option1} {$option2} {$option3} {$option4}</div><br/>
eod;
echo $htmlcode;
问题在于,由于您的$question
和$option4
变量与结束<
标记的开头div
之间没有空格,因此PHP会窒息。< / p>
此外,请确保在eod
分隔符后面的分号后面有否空格。该行唯一允许的是你的分隔符和必要时的分号。