PHP中的\n和PHP_EOL有什么好处?

9
我正在尝试在PHP中输出一个在Web浏览器中查看的换行符。我只能通过使用<br />标签来实现。
当我使用\n时,什么都不会发生,那么使用\n有什么好处?此外,使用PHP_EOL有什么好处?当我将其连接到字符串时,只会打印一个空格而不是换行符。

5
无论您使用什么类型的“EOL”,除非在“pre”标签内,否则浏览器都会忽略它。只有使用“br”或块级元素才能使内容在呈现时换行。 - prodigitalson
4个回答

9
一个Web浏览器将PHP程序的输出解释为HTML,因此\n\r\n似乎没有任何作用,就像在HTML文件中插入换行符一样。另一方面,<br />在解释的HTML中产生新的一行(因此被称为“换行符”)。因此,<br />会产生新行,而\r\n则不会有任何作用。

我可以通过手动换行来分离代码,以使代码可读。到目前为止,我还没有发现使用 \r\n 有任何好处。 - palAlaa
4
"\r\n" 在写入文件、PHP命令行界面、套接字写入、写入数据到文本区域(HTML元素)等方面非常有用。除了直接的HTML之外,它基本上适用于几乎所有情况。 - Chris

6
PHP_EOL定义符合所在平台的规范。因此,在Windows上,PHP_EOL\r\n,在MAC上是\r,在Linux上是\n。而<br /><br>是用于换行的HTML标记。如果您是HTML和PHP新手,最好先掌握HTML,然后再考虑PHP。或者开始阅读一些源代码,并运行其他人的源代码,看看他们是如何做到的。通过复制他们的风格,您的代码将变得更好。(大多数情况下)

我使用 "\r\n",但是没有出现新的一行。 - palAlaa
我只想知道我所说的新行应该在HTML页面中查看还是在另一个流中??? - palAlaa
在网页中使用<br>来换行,在HTML标记中使用PHP_EOL来换行。这是两个不同的概念,你应该在尝试HTML和PHP之前了解清楚。你必须先学习HTML,然后再学习PHP,因为虽然它们可以一起工作,但它们并不是同一件事情。 - Mark Tomlin
你能告诉我更多关于“PHP_EOL用于在网页的HTML标记中换行”的内容吗?或者给我一些阅读更多相关信息的参考资料。 - palAlaa

6
当您使用PHP制作Web应用程序时,涉及到几个层次:
- 您的PHP代码输出一些数据 - Web服务器将数据通过网络传输到 - Web浏览器解析数据并在屏幕上显示出来。
需要注意的是,在以上过程中,只是传递了一些数据。在您的情况下,这些数据是HTML,但它也可以是纯文本,甚至是PNG格式的图像。(这就是为什么您发送带有Content-Type:头部的原因之一,以指定数据的格式。)
由于PHP经常用于HTML,因此它具有许多专门针对HTML的特性,但它不仅仅支持HTML。因此,虽然在HTML中换行符并不总是有用,但在以下情况下会很有用:
- 如果您想为其他人生成可读性更好的HTML; - 如果您要生成需要换行符的纯文本或其他格式。

3

PHP_EOL 在编写数据到文件中时非常有用,例如日志文件。它会根据您的平台创建特定的换行符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接