PHP“<<

时间:2011-01-20 10:24:51

标签: php

早上好,

我遇到了以下代码,并想知道<<<<<<'SCRIPT是什么?

$options = <<<SCRIPT <script type="text/javascript">
                                 var options = {$encoded};


  </script>
SCRIPT;

有人可以给我一个与此相关的php文档的链接吗?

我想谷歌,但我找不到合适的方式来寻找<<<,所以我来找你。

谢谢。

2 个答案:

答案 0 :(得分:8)

这是heredoc syntax

var foo = <<< KEYWORD
   ...

KEYWORD;

会将KEYWORD之间的所有内容视为字符串,并将其分配给foo。支持替换变量,就像使用双引号定义字符串一样。

要记住一些要点,例如:结束KEYWORD必须在一行中单独存在,即它不能在任何其他字符之前或之后(仅;可能)。

可能是由于格式化问题,但是开头KEYWORD后面必须跟一个新行。因此,您上面的示例无效。你会收到一个错误。它应该是:

$options = <<< SCRIPT 
<script type="text/javascript">
    var options = {$encoded};
</script>
SCRIPT;

答案 1 :(得分:0)

这种语法称为heredoc语法。它清楚地提到on this tutorial

在您的情况下,$ options被赋予此字符串:

<script type="text/javascript"> var options = {$encoded}; </script>

这行代码与您发布的代码完全相同:

$options = "<script type=\"text/javascript\"> var options = {$encoded}; </script>";

请注意,在上面的行中你必须转义字符串中的两个。这在heredoc语法中是不需要的。