20

我见过一些人使用这个代码。

echo <<< EOT
Hi <br>
EOT;

echo <<< HTML
Hello<br>
HTML;

这两者有什么区别?为什么他们不使用正常的回声?像

echo "How are you<br>"?
4

3 回答 3

23

没什么,它只是HEREDOC语法的分隔符。使用 HEREDOC 的唯一好处是您可以在源代码中保留字符串的缩进和结构。使用它往往比连接字符串更好 - 对于您的示例Hi <br>,没有充分的理由使用 HEREDOC。

于 2013-03-03T05:16:47.367 回答
4

他们为什么不使用正常的回声?

在这个例子中使用heredoc是没有意义的。
它确实用于echo打印单个文本行。
所以,没有人为此使用heredoc。

此外,在回显大文本块时,heredoc 再次无用,因为只需关闭 PHP 标记并按原样编写文本。

heredoc的唯一用途是当您需要在变量中存储大块文本时。

$var = <<< HERE
Hello %s!
Please follow this link %s to continue registration.
HERE;
于 2013-03-03T05:51:56.247 回答
3

可能很晚才发表评论,但在当今的 IDE 的上下文中:当您使用 HEREDOCS 时,标识符会提示您正在存储什么样的信息

假设<<<SQLIDE 的语法高亮器可以使用SQL标识符来高亮作为 SQL 查询的字符串内容。<<<HTML用于 HTML 突出显示...等等。

于 2018-12-06T06:38:07.113 回答