PHP EOT错误消息

时间:2012-10-14 14:15:39

标签: php heredoc

当我运行此代码时,我收到一条消息:

function print_footer(){
global $file;
echo <<<EOT
<center>
<a href="$file?op=vote"> Vote </a> |
<a href="$file?op=admin"> Admin </a> | 
<hr>
$copy; 2012, Shibbir Ahmed, All Rights Reserved.
</center>
</body>
</html> 
EOT;        
}   

错误消息:

  

解析错误:语法错误,D:\ xampp server \ xampp \ htdocs \ practice中的意外$ end       \ function.php在线...

这个PHP代码出了什么问题?

3 个答案:

答案 0 :(得分:2)

您在此处发布的代码在结尾EOT;后面有一堆空格。这是PHP语法中的not allowed

  

注意具有结束标识符的行非常重要   除可能分号(;)外,不得包含其他字符。   这尤其意味着标识符可能不会缩进,并且   在之前或之后分号之前可能没有任何空格或制表符。

发生的情况是PHP没有看到你的结尾说明符,因此它继续寻找一个,直到它意外地到达文件的末尾并引发错误。

解决方案是确保在EOT;之前的行上没有空格,无论是之前还是之后。

答案 1 :(得分:0)

如果你对代码进行格式化的方式是什么,看起来你在EOT;之前有空格。 HEREDOC MUST 的结束标记是一行中绝对的第一件事。

答案 2 :(得分:0)

确保EOT;

之前没有空格