4
A
回答
13
这就是所谓的HEREDOC syntax,这是一种在多行上定义字符串,使用可变插值的方法。
引述手册页:
定界符文本表现的就像一个 双引号字符串,而 双引号。这意味着heredoc中的引号 不需要被 转义,但上面列出的转义码 仍然可以使用。变量是 已扩展,但在与hellooc中的 字符串一起表示复杂 变量时,必须采用 。
(还有更多的阅读,我没有从手册页复制粘贴)
而且,作为一个非常快速和简单的例子:
$a = 'World';
$string = <<<MARKER
<p>
Hello, $a!
</p>
MARKER;
echo $string;
它会给你这个输出:
Hello, World!
d这个HTML源代码:
<p>
Hello, World!
</p>
0
这将是Heredoc
0
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
块引用 分隔字符串的第三种方法是定界符:< < <。在这个操作符之后,提供了一个标识符,然后是一个换行符。字符串本身遵循,然后再次使用相同的标识符来关闭引用。
结束标识符必须从行的第一列开始。此外,标识符必须遵循与PHP中任何其他标签相同的命名规则:它必须仅包含字母数字字符和下划线,并且必须以非数字字符或下划线开头。
0
确实,这是Heredoc语法。
以防万一你想知道它会不会有什么兴趣VS普通字符串分隔符:
// These strings contain the same thing '"'"
$s1 = '\'"\'"';
$s2 = "'\"'\"";
$s3 = <<<EOS
'"'"
EOS
没有更多报价逃逸。
对我来说,一个典型的用例是当我需要将一些HTML代码复制/粘贴到字符串中时。
相关问题
- 1. PHP中的这种语法是什么?
- 2. VB.NET中的这种语法是什么?
- 3. 这个PHP语法是什么意思?
- 4. 这是什么PHP语法? (PhpStorm)
- 5. MethodInvoker的这种用法的正确语法是什么?
- 6. Java中的这种语法是什么意思?
- 7. Spring中的这种Java通用语法是什么?
- 8. Postgres中这种类型的'literal'语法是什么?
- 9. 这两种语法有什么区别?
- 10. 这是什么语法? C++
- 11. 这是什么语法?
- 12. 这是什么语法:union {}?
- 13. 这是什么Ruby语法?
- 14. 这是什么JavaScript语法?
- 15. 这是什么语法?
- 16. 这是什么css语法?
- 17. 什么是这个语法
- 18. JSON语法,这是什么?
- 19. 这是什么Haskell语法?
- 20. 这是什么jQuery语法?
- 21. java中的这个语法是什么?
- 22. 这种方法的名称是什么?
- 23. 这是一种什么样的方法?
- 24. 这些各种语法的含义是什么?
- 25. 使用这种语法的原因是什么(0,_.Em)();
- 26. PHP语法中的$ {}是什么意思?
- 27. 这个PHP语法在外行人中的含义是什么?
- 28. 在PHP中这是什么类型的语法?
- 29. $ {$“\ x47L”...这个语法在PHP中的含义是什么?
- 30. 描述语言语法的这种语言的名称是什么?
你是什么意思*“嵌套案件”*? – 2010-02-25 12:14:27
这只是一种定义字符串而不必转义任何特殊字符的方法。它没有任何东西,真的,所以这个问题似乎有点奇怪。 – 2010-02-25 12:19:16
仅供参考NOWDOC是新的HEREDOC:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc – 2010-02-25 13:40:19