Heredoc:常用的'EOT'究竟意味着什么?

Aro*_*eel 34 php heredoc

PHP的Heredoc示例似乎总是使用EOT(有时候是EOD)作为单独的字符串,而实际上可以在这里使用任何字符串.这有效:

$mystring = <<<EOT
     Foo
     Bar
     Baz
EOT;
Run Code Online (Sandbox Code Playgroud)

虽然这也有效:

$mystring = <<<MONKIES
     Foo
     Bar
     Baz
MONKIES;
Run Code Online (Sandbox Code Playgroud)

EOT是否真的代表什么?如果是的话,那是什么?

Ign*_*ams 26

它代表"文本结束".

  • 不,因为它标志着结束.你在顶部看到的是一个信号,直到EOT被发现为止.EOD是数据结束. (8认同)
  • "文档/数据结束" (7认同)

Fle*_*der 13

实际上end of textETX- EOTend of transmission.

参考:ASCII - 维基百科


sil*_*tar 7

我更喜欢使用 TRON 参考并使用“EOL”(行尾)。


Nis*_*röm 5

简答

大概 Ë ND ö ˚F Ť EXT和Ë ND ö ˚F d ATA。

长答案

唯一可以明确告诉您首字母缩略词的含义的是原始(和当前)文档的作者。但是基于提到“here doc text的文档早期版本,我认为人们可以合理地假设EOT旨在表示 End of Text

同样,当前文档对 Nowdocs 和 SGML<![CDATA[ ]]>部分进行了比较,因此合理的假设是EOD代表 End Of Data

当然,在ASCII 标准中有 EOT 的定义,但它指的是单个字符0416,除非明确说明,否则该定义不会转移到其他任何内容。在这方面,我们可以从 ASCII 标准中学到的唯一一件事是三个字母的编码EOT

当然,这都是猜测,但这些是我能想到的唯一合理的解释。就个人而言,我更喜欢使用单个下划线 ( <<<_)来避免整个问题。