$unit1 = 'paragrahp1';
$unit2 = 'paragrahp2';
echo '<p>' . $unit1 . '</p>\n';
echo '<p>' . $unit2 . '</p>';
Run Code Online (Sandbox Code Playgroud)
这显示(在查看源上):
<p>paragraph1</p>\n<p>paragraph2</p>
Run Code Online (Sandbox Code Playgroud)
但不是我所期待的,不是打印新线,可能是什么?
Tom*_*rdt 34
PHP只在双引号()中解释转义字符(转义反斜杠\\
和转义单引号\'
除外"
)
这有效(产生换行符):
"\n"
Run Code Online (Sandbox Code Playgroud)
这不会导致换行:
'\n'
Run Code Online (Sandbox Code Playgroud)
转义序列(以及变量)在双引号和heredoc字符串中起作用.所以将代码更改为:
echo '<p>' . $unit1 . "</p>\n";
Run Code Online (Sandbox Code Playgroud)
PS:一个澄清,单引号字符串确实接受两个转义序列:
\'
当你想在单引号字符串中使用单引号时\\
当你想要字面上使用反斜杠时最好改用PHP_EOL(“行尾”)。它是跨平台的。
例如:
$unit1 = 'paragrahp1';
$unit2 = 'paragrahp2';
echo '<p>' . $unit1 . '</p>' . PHP_EOL;
echo '<p>' . $unit2 . '</p>';
Run Code Online (Sandbox Code Playgroud)