什么是<<< _END?

时间:2011-01-13 01:05:25

标签: php heredoc

我是PHP新手,不明白<<<_END的含义是什么。有人可以解释什么时候应该使用它吗?我查看了各种示例,它们似乎都嵌入了HTML。但我可以在没有<<<_END标签的情况下使用HTML,那么我为什么要使用它们呢?我尝试搜索手册,但我一直在寻找数组的end()方法。

5 个答案:

答案 0 :(得分:15)

这是heredoc的开始。你可以这样做:

$data = <<< _END

You can write anything you want in between the start and end

_END;

_END可以是任何事情。您可以放置​​EOFSTUFF。只要你在开始和结束时使用相同的东西。

答案 1 :(得分:3)

这表示heredoc的开头(一个多行字符串,允许您在中间使用引号,未转义),当您遇到_END

时结束

如果目标是将其分配给变量或将其传递给函数而不是立即将其打印到Web服务器,那么在其中一个中定义HTML会很有用。

答案 2 :(得分:2)

该语法称为heredoc

<<<_END
some text
_END

基本上,这是一种编写字符串的方式,而不用担心转义引号等等。

正如您所提到的,它实际上并没有提供比其他字符串格式更多的好处 - 尽管如此,它确实意味着您可以编写一个HTML块而无需从PHP中删除?&gt;

它也不太受欢迎,因为它的使用通常违背了通过在脚本中间嵌入内容来从逻辑中分离内容的做法。

答案 3 :(得分:1)

这有帮助吗? http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

它允许您回显出一个文本块(与echo "words";一样),但不使用开头/结尾引号,而不必转义包含双引号。请阅读上面的手册链接以获取更多详细信息。

答案 4 :(得分:1)

这是一个heredoc。这只是一种定义字符串的方式。