PHP中的这种语法是什么?

$test= <<<EOF

....

EOF;

我从来没有见过它。 它用于什么?


这被称为HEREDOC语法 ,这是一种在多行上用变量插值定义字符串的方法。


引用手册页面:

Heredoc文本的行为与双引号字符串相同,不带双引号。 这意味着heredoc中的引号不需要转义,但上面列出的转义码仍然可以使用。 变量被扩展了,但是当像在字符串中那样在heredoc中表达复杂的变量时必须同样小心。

(还有更多内容需要阅读,我没有从手册页复制粘贴)


而且,作为一个非常快速和简单的例子:

$a = 'World';
$string = <<<MARKER
<p>
  Hello, $a!
</p>
MARKER;
echo $string;

它会给你这个输出:

Hello, World!

此HTML源代码:

<p>
  Hello, World!
</p>

那将是Heredoc


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

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

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

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

上一篇: What's this kind of syntax in PHP?

下一篇: Using <<<CON in PHP