PHP表达式<<< EOB

我已经用PHP开发了好几年了,最近碰到了这个代码:

<?php
    echo <<<EOB
        <html>
        <head>
            <title>My title</title>
        </head>
        ...
    EOB;
?>

我从来没有见过这种方法来打印HTML,这似乎是非常有用的,不太容易出现一些奇怪的变量或双引号语法错误。

我搜索了一些有关这方面的官方信息,只发现了一篇关于Rasmus的文章。

什么是关于这个功能的详细解释,EOB是什么意思? 也许是块的结束?


这被称为heredoc语法。 该文件将告诉你你需要知道的一切。

但实质上,

分隔字符串的第三种方法是heredoc语法:<<<。 在这个操作符之后,提供了一个标识符,然后是一个换行符。 字符串本身遵循,然后再次使用相同的标识符来关闭引用。

结束标识符必须从行的第一列开始。 此外,标识符必须遵循与PHP中任何其他标签相同的命名规则:它必须仅包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。

所以EOB就是作者选择的作为他的分隔符,不确定它在他的情况下代表什么,但标识符可以是任何你想要的。


为了完整起见,PHP中的Heredoc继承自Perl,它本身是从Bourne shell继承而来的。


它叫做heredoc,在手册​​中有描述。

链接地址: http://www.djcxy.com/p/1783.html

上一篇: PHP expression <<<EOB

下一篇: What does <<<END mean in PHP?