(!)分析错误:语法错误,意外'<<';(T_SL)


( ! ) Parse error: syntax error, unexpected '<<' (T_SL) on line 6

(!(分析错误:语法错误,意外'<lt;'第6行上的(T_SL(

错误来自第6行显示块所在的位置。我已经删除了其中的空格,甚至关闭了它。当我删除时,代码仍然不会运行;整个代码变为黄色。我有另一个代码,它有相同的错误,并尝试删除(<<(,但没有任何东西关闭它仍然是一样的。它唯一一次读过这个是当我删除;时;。但是那一行之后的整个代码变成黄色

 <?php
include 'ch19_include.php';
if (!$_POST) {
  //haven't seen the form, so display it
  $display_block = <<<END_OF_BLOCK;
  <form method="POST" action="$_SERVER[PHP_SELF]">;
  <p><label for="subject">Subject:</label><br/>
  <input type="text" id="subject" name="subject" size="40" /></p>
 <p><label for="message">Mail Body:</label><br/>
 <textarea id="message" name="message" cols="50"   rows="10"> </textarea></p>
 <button type="submit" name="submit" value="submit">Submit</button>
 </form>
END_OF_BLOCK;

您必须在其他地方结束您的heredoc。示例:

<?php
include 'ch19_include.php';
if (!$_POST) {
$display_block = <<<END_OF_BLOCK
<form method="POST" action="$_SERVER[PHP_SELF]">;
//more code
END_OF_BLOCK;
$display_block = <<<END_OF_BLOCK
(your text)
END_OF_BLOCK;

删除第一个END_OF_BLOCK之后的分号。"代码变黄"只是你的编辑器告诉你知道这段代码是一个heredoc字符串。没什么好担心的。