在PHP中使用<<< EOD有什么用?

Fer*_*ero 67 php syntax

我正在使用drupal和tcpdf实现节点到PDF.在这种情况下,我想使用这个<<<EOD标签.如果我没有给这个o/p不完美.我无法完全达到目的<<<EOD.

有人可以解释一下这个概念吗?

$html = <<<EOD
        <tr>
          <td>TEST</td>
        </tr>
EOD;
Run Code Online (Sandbox Code Playgroud)

提前致谢....

The*_*ter 88

那不是HTML,而是PHP.它被称为HEREDOC字符串方法,是使用引号编写多行字符串的替代方法.

您的示例中的HTML将是:

    <tr>
      <td>TEST</td>
    </tr>
Run Code Online (Sandbox Code Playgroud)

阅读解释它的PHP文档.

  • 它也用在perl :)不要忘记! (5认同)

poo*_*raj 31

php中有四种类型的字符串.它们是单引号('),双引号(")和Nowdoc (<<<'EOD')和heredoc (<<<EOD)字符串

你可以在heredoc字符串中使用单引号和双引号.变量将像双引号一样扩展.

nowdoc字符串不会像单引号那样扩展变量.

参考:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

  • EOD =数据结束,EOT =文本结束.任意标签. (11认同)
  • 它的自我意味着什么?为什么有些人使用EOT? (5认同)
  • @CMCDragonkai好问题.似乎"EOD"意味着什么并不特别,只要打开和关闭标签相似,你就可以在这里使用几乎任何标签.如果你看[这里](http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc),深入的例子(`Example#`),你会找到`LABEL`(`<<< LABEL` +`LABEL;`)和`FOOBAR`的例子.我在一些资料中也找到了"DEL".所以看来,你可以随心所欲地使用任何东西. (4认同)
  • 源自传统的EOF(文件结束)系统信号.在传统的计算文件中,文件通常是磁带内容(因此是EOT,磁带结束或传输结束),因此被视为流(EOS已被"采用",因此EOD,数据结束)并通过管道传输一个人打电话给另一个 稍后新闻组和电子邮件客户端将此标记用于键入文本的结尾,假设它不会出现在正常对话中.它做了.主要是在讨论标准和类似DOC的语法.一些CLI电子邮件客户端至今仍在使用它.计算的历史很美. (2认同)