PHP中这种语法的特殊用法? (三角'角括号')

时间:2011-04-19 02:21:29

标签: php css string heredoc brackets

给出以下代码:

$myString = <<<script
   .
   .
   .
 script;

感谢此问题原始版本的答案,我理解&lt;&lt;&lt;是heredoc语法,被视为双引号而不需要转义引号。

更进一步,如何最好地利用它?具体来说,这是否应该减轻处理包含代码语法的混合引用字符串的压力?

I,E ..

attribute="name-like string" attribute="property: 'value("value")';"

这个想法可能是有用的(如果以我现在猜测的方式实现),尤其是在处理更高的复杂性和/或寻找代码注入时。再次,寻找heredoc特别有用或可利用的任何场景。

3 个答案:

答案 0 :(得分:9)

这是Heredoc语法:http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

它最大的优点是你不必担心转义引号,因为字符串不是引号分隔的。

答案 1 :(得分:2)

它叫做heredoc语法:

  

分隔字符串的第三种方法是heredoc语法:&lt;&lt;&lt;。在此运算符之后,提供标识符,然后提供换行符。字符串本身跟随,然后再次使用相同的标识符来关闭引用。

Read more here

答案 2 :(得分:2)

它充当双引号字符串,更好地使用双qoutes,更容易理解,更容易维护在我眼中!