(!(分析错误:语法错误,意外'<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字符串。没什么好担心的。