PHP中的这种语法是什么?

use*_*729 4 php syntax

$test= <<<EOF

....

EOF;
Run Code Online (Sandbox Code Playgroud)

我以前从未见过它.它用于什么?

Pas*_*TIN 13

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


引用手册页:

Heredoc文本的行为就像双引号字符串,没有双引号.这意味着heredoc中的引号不需要转义,但仍可以使用上面列出的转义码.变量被扩展,但在heredoc中表达复杂变量时必须同样谨慎,就像字符串一样.

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


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

$a = 'World';
$string = <<<MARKER
<p>
  Hello, $a!
</p>
MARKER;
echo $string;
Run Code Online (Sandbox Code Playgroud)

它会给你这个输出:

Hello, World!
Run Code Online (Sandbox Code Playgroud)

这个HTML源代码:

<p>
  Hello, World!
</p>
Run Code Online (Sandbox Code Playgroud)