Heredoc 不在单独的行中打印文本
Heredoc not printing text in separate lines
<?php
echo <<<EOT
First
Second
Third
EOT;
?>
输出:第一第二第三
输出不应该是这样的-
第一个
第二
第三
?
如果不是,那么 heredoc
的用途是什么?它与双引号字符串有何不同?
脚本正在输出
First
Second
Third
但是浏览器将其解释为 HTML 文档,默认情况下它换行。改成
<?php
echo <<<EOT
First
<br>
Second
<br>
Third
EOT;
?>
你会得到你期望的结果。
how is it different from a double quoted string?
Heredocs 可以更轻松地处理包含嵌套引号的字符串,因为您不必对它们进行转义。这在创建具有属性的 HTML 元素时特别方便。比较:
echo "<a href=\"$url\">Some text</a>";
和
echo <<<EOT
<a href="$url">Some text</a>
EOT;
(是的,我知道你也可以通过在 $url
周围加上单引号来解决这个问题——给猫剥皮的方法有很多。)
<?php
echo <<<EOT
First
Second
Third
EOT;
?>
输出:第一第二第三
输出不应该是这样的-
第一个
第二
第三
?
如果不是,那么 heredoc
的用途是什么?它与双引号字符串有何不同?
脚本正在输出
First
Second
Third
但是浏览器将其解释为 HTML 文档,默认情况下它换行。改成
<?php
echo <<<EOT
First
<br>
Second
<br>
Third
EOT;
?>
你会得到你期望的结果。
how is it different from a double quoted string?
Heredocs 可以更轻松地处理包含嵌套引号的字符串,因为您不必对它们进行转义。这在创建具有属性的 HTML 元素时特别方便。比较:
echo "<a href=\"$url\">Some text</a>";
和
echo <<<EOT
<a href="$url">Some text</a>
EOT;
(是的,我知道你也可以通过在 $url
周围加上单引号来解决这个问题——给猫剥皮的方法有很多。)