可能重复:
Print newline in PHP in single quotes
Difference between single quote and double quote string in php
$unit1 = 'paragrahp1';
$unit2 = 'paragrahp2';
echo '<p>' . $unit1 . '</p>\n';
echo '<p>' . $unit2 . '</p>';
显示(在查看源上):
<p>paragraph1</p>\n<p>paragraph2</p>
但不是我所期待的,不是打印新行,可能是什么?
答案 0 :(得分:32)
PHP只在双引号(\\
)中解释转义字符(转义反斜杠\'
和转义单引号"
除外)
这有效(产生换行符):
"\n"
这不会产生换行符:
'\n'
答案 1 :(得分:6)
转义序列(以及变量)在double quoted和heredoc字符串中起作用。所以将代码更改为:
echo '<p>' . $unit1 . "</p>\n";
PS:一个澄清,单引号字符串确实接受两个转义序列:
\'
当您想在单引号字符串中使用单引号时\\
当您想要逐字地使用反斜杠时答案 2 :(得分:3)
\n
必须是双引号!
echo "hello\nworld";
输出
hello
world
一个很好的解决方法是使用PHP作为一种模板语言
<p>
Hello <span><?php echo $world ?></span>
</p>
输出
<p>
Hello <span>Planet Earth</span>
</p>
请注意,所有换行都保持畅销!
答案 3 :(得分:3)
更好地使用PHP_EOL(&#34; End Of Line&#34;)。它是跨平台的。
E.g:
$unit1 = 'paragrahp1';
$unit2 = 'paragrahp2';
echo '<p>' . $unit1 . '</p>' . PHP_EOL;
echo '<p>' . $unit2 . '</p>';
答案 4 :(得分:2)
\n
必须是双引号!
echo '<p>' . $unit1 . "</p>\n";
答案 5 :(得分:0)
$unit1 = "paragrahp1";
$unit2 = "paragrahp2";
echo '<p>'.$unit1.'</p>';
echo '<p>'.$unit2.'</p>';
在以新行开头时始终使用标记<p>
,因此您不需要使用/ n类型语法。