打印-PHP语法错误T_ENCAPSED_AND_WHITESPACE

我开始使用php基础知识,并且在理解如何将代码与字符串混合时遇到一些问题.

我发现了一种很棒且有用的样式来打印字符串块,但我不知道名称,也无法找到示例.

下面的代码向我返回错误:
解析错误:语法错误,意外的T_ENCAPSED_AND_WHITESPACE,在第120行的/web/htdocs/food/user/index.php中预期为T_STRING或T_VARIABLE或T_NUM_STRING

<?php   
$html_str = <<<STR
    <li><img alt="hello" src="$path_images/pencil.png"/><a title="hello" href="$path_pages/$page/action">Details</a></li>

STR;
print $html_str;
?>

有人可以帮助我找到我的错误之处以及此语法样式的名称吗?

谢谢
v

解决方法:

我发现了问题!
在我发布的示例中,它无法返回错误:

工作代码

<?php
$str = <<<STRING
hello! this is a working string<br/>
and i can do too many things with heredoc syntax!
STRING;

print $str;
?>

无效的代码

<?php
     $str = <<<STRING
     syntax error!<br/>
     syntax error!<br/>
     why?
     STRING;

     print $str;
?>

问题是关闭标签STRING之前的标签;它们被视为标签的一部分,因此关闭标签不会被解释为“ STRING”;但是“ STRING;”,这就是为什么它不起作用的原因.

希望它对其他人有用.

上一篇:PHP EOF(heredoc) 使用说明


下一篇:php中heredoc的作用