例如:
$sql = <<<MySQL_QUERY
答案 0 :(得分:44)
这是heredoc语法。您可以通过将<<<
加上您选择的标记来启动heredoc字符串,并通过仅将标记(以及其他内容!)放在新行上来终止它。为方便起见,有一个例外:允许在结束分隔符后添加一个分号。
示例:
echo <<<HEREDOC
This is a heredoc string.
Newlines and everything else is preserved.
HEREDOC;
答案 1 :(得分:16)
它是使用HEREDOC syntax.
的字符串的开头分隔字符串的第三种方法是heredoc语法:&lt;&lt;&lt;。
在此运算符之后,提供标识符,然后提供换行符。字符串本身跟随,然后再次使用相同的标识符来关闭引用。
答案 2 :(得分:11)
这称为heredoc,它可以让你做一段长达几行的文本。您可以将PHP变量放在那里,它们将替换为值。 CHART这个词可以是任何东西。它只需要相同的开始和停止引用文本开始的位置。
您可以通过附加多个带引号的字符串来执行相同的操作,但是对于像此HTML文本这样的扩展文档,这大部分都是更干净的。还有一种称为nowdoc的东西,就像PHP中的单引号字符串,但这些字符串不允许你在其中使用变量。
答案 3 :(得分:9)
答案 4 :(得分:5)
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
答案 5 :(得分:5)
这是一个heredoc,对于长串,你不必担心引号和诸如此类的东西。如果您注意到单词CHART,然后有一行显示CHART;,则表示字符串的结尾。
使用这种格式时要记住的重要事项是,无论使用哪种字符串来定义字符串的结尾(在本例中为CHART),该字必须单独出现在一行上,后跟分号,并且在同一行上的分号之后可以出现NO字符,甚至是空格,否则PHP认为它是字符串的一部分。
答案 6 :(得分:0)
要得到一个清晰的想法:
$data = array(
"Id" => 12345,
"Cutomer" => "hi",
"Quantity" => 2,
"Price" => 45
);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
如果我们使用 <<<
:
$data = <<<DATA
{
"Id": 12345,
"Customer": "John Smith",
"Quantity": 1,
"Price": 10.00
}
DATA;
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
结论:如果我们采用第一种方法,我们必须将其转换为 json_encode()
,这需要一些处理。相反,我们可以使用 <<<
运算符来节省一些时间并获得一些干净的代码。 :)