PHP:尝试用"\n"创建一个新行

zii*_*web 26 php newline

我写的是这样的:

echo "foo";
echo "\n";
echo "bar";
Run Code Online (Sandbox Code Playgroud)

并且"bar"未写在下面的行中.

我究竟做错了什么?

哈维

Tom*_*lak 43

HTML中的换行符通过<br>而不是通过表达\n.

\n在PHP中使用在源代码中创建换行符,HTML源代码布局与HTML屏幕布局无关.


Cup*_*ups 19

如果要将新行字符插入纯文本流,则可以使用独立于OS的全局PHP_EOL

echo "foo";
echo PHP_EOL ;
echo "bar";
Run Code Online (Sandbox Code Playgroud)

在HTML术语中,如果查看页面的源代码,您会在foo和bar之间看到换行符.

因此,如果您输出一个选择框的值循环,并且您认为html源代码更"漂亮"或以后更容易阅读,那么它非常有用.例如

foreach( $dogs as $dog )
echo "<option>$dog</option>" . PHP_EOL ;
Run Code Online (Sandbox Code Playgroud)


Yac*_*oby 17

如果要编写纯文本,则必须确保将内容类型设置为Content-Type: text/plain.例:

header('Content-Type: text/plain');
Run Code Online (Sandbox Code Playgroud)

如果您正在处理HTML,则有两种选择.一种是使用<br>(或<br />用于XHTML)插入新行.另一种是将纯文本放在一个<pre>元素中(在这种情况下,"pre"代表预先格式化).

  • 请解释一下downvote?很高兴知道我的答案有什么问题,以便我能纠正它. (3认同)

Dan*_*ite 5

PHP生成HTML.你可能想要:

echo "foo";
echo "<br />\n";
echo "bar";
Run Code Online (Sandbox Code Playgroud)

  • PHP不生成*HTML. (4认同)
  • 那里没有必要 (2认同)