Php 菲律宾元';t输出新线路

Php 菲律宾元';t输出新线路,php,Php,我尝试过用PHP输出换行符的各种方法。为什么下列方法不起作用 <?php $foo = 'bar'; echo "Hello \n $foo!"; ?> 这应该在hello和bar之间输出一个换行符,但实际上不是 我还尝试\r\n而不是\n以可视化方式(在浏览器中)输出新行,您需要HTML: echo "Hello\n<br />$foo!"; echo“你好\n$foo!”; \n是一个系统换行 使用在html中插入换行符时要在html中输出新行,您需要

我尝试过用PHP输出换行符的各种方法。为什么下列方法不起作用

<?php

$foo = 'bar'; 
echo "Hello \n $foo!";

?>

这应该在hello和bar之间输出一个换行符,但实际上不是


我还尝试\r\n而不是\n

以可视化方式(在浏览器中)输出新行,您需要
HTML

echo "Hello\n<br />$foo!";
echo“你好\n
$foo!”;

\n
是一个系统换行

使用

在html中插入换行符时

要在html中输出新行,您需要使用新行的html表示形式,即

php为您提供了一个将所有自然新行转换为HTML新行的函数>
nl2br()

那么您的代码应该如下所示

<?php

$foo = 'bar'; 
echo nl2br("Hello \n $foo!");

?>

如果您将其用作命令行脚本,这将起作用。我将使用
PHP\u EOL
,因为它为操作系统选择了正确的换行符

但是,如果使用HTML(例如在浏览器中查看结果),则必须使用换行符的HTML方式:

尝试以下操作:

<?php

$foo = 'bar'; 
echo "Hello <br> $foo!";,

?>


如果您查看源代码,您将看到它实际上有一个新行,但在HTML中,空白并不重要(显示输出的浏览器所期望的)但是在语句中添加一个

会产生一个新行,因为这是浏览器读取新行并显示新行的方式。

新行在HTML中没有任何意义。@deceze从技术上讲,它应该与空格相同。@NoBugs OK,“not anything”不太正确…:)我认为人们被鼓励进行向下投票,因为当你将鼠标悬停在向下投票按钮上时,它会说“这个问题没有显示任何研究成果;它不清楚或没有用处”@Henry SO(至少部分)被认为是一个编程问题的数据库,其他地方都没有现成的答案。这个问题是在任何HTML教程之后,人们首先应该遇到的问题之一。我们不希望在您搜索实际问题时,这会阻塞搜索结果。因此,只有在使用PHP打开网站时,才能使用downvote。PHP可以在控制台中执行。对于控制台,他的代码可以正常运行。对于网页,您的代码将运行ok。为了澄清,要使用呈现HTML的程序(即浏览器)输出新行,您需要HTML。如果你在可视化地输出新行,比如在文件或其他地方,你可能需要回车和换行。@AlejandroIván使用99%的确定度猜测他们在浏览器中输出。是的,我也这么猜。我的评论只是作为参考;)在命令行上,此ur代码返回2x新行。最好在
\n

或最佳
nl2br($str.PHP\u EOL)上使用谢谢,我刚做完that@user2463517欢迎来到堆栈溢出。请用你选择的答案左边投票总数下面的复选标记选择你接受的答案。你帮了我很多。