EOT和HTML有什么区别?用PHP

Wes*_*nal 17 php

我见过一些人使用这段代码.

echo <<< EOT
Hi <br>
EOT;
Run Code Online (Sandbox Code Playgroud)

echo <<< HTML
Hello<br>
HTML;
Run Code Online (Sandbox Code Playgroud)

这两者有什么不同?为什么他们不会使用正常的回声呢?喜欢

echo "How are you<br>"?
Run Code Online (Sandbox Code Playgroud)

Ali*_*guy 22

没什么,它只是HEREDOC语法的分隔符.使用HEREDOC的唯一好处是您可以在源代码中保留字符串的缩进和结构.它比使用串联字符串更好地工作 - 例如Hi <br>,没有充分的理由使用HEREDOC.

  • 我只使用HEREDOC作为js,因为它在使用"和"标准方法时节省了转义 (3认同)
  • 回答他关于两者之间差异的问题(EOT与HTML):在功能方面没有区别.两者都由开发人员决定标识符,该标识符将表示"HEREDOC"的开头和结尾.您应该注意使用不会出现在字符串本身中的标识符.使用EOT与HTML就像命名变量$ foo和$ bar之间的区别.功能是一样的,只是名称不同. (3认同)

小智 6

评论可能会非常非常晚,但是,在当今的 IDE 环境中:当您使用 HEREDOCS 时,标识符会提供有关正在存储哪种信息的提示

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


You*_*nse 5

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

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

另外,在回显大文本块时,heredoc 再次毫无用处,因为必须关闭 PHP 标签并按原样写入文本。

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

$var = <<< HERE
Hello %s!
Please follow this link %s to continue registration.
HERE;
Run Code Online (Sandbox Code Playgroud)