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是否真的代表什么?如果是的话,那是什么?
大概 Ë ND ö ˚F Ť EXT和Ë ND ö ˚F d ATA。
唯一可以明确告诉您首字母缩略词的含义的是原始(和当前)文档的作者。但是基于提到“here doc text ”的文档的早期版本,我认为人们可以合理地假设EOT旨在表示 End of Text。
同样,当前文档对 Nowdocs 和 SGML<![CDATA[ ]]>
部分进行了比较,因此合理的假设是EOD代表 End Of Data。
当然,在ASCII 标准中有 EOT 的定义,但它指的是单个字符04
16,除非明确说明,否则该定义不会转移到其他任何内容。在这方面,我们可以从 ASCII 标准中学到的唯一一件事是三个字母的编码E
,O
和T
。
当然,这都是猜测,但这些是我能想到的唯一合理的解释。就个人而言,我更喜欢使用单个下划线 ( <<<_
)来避免整个问题。