0

为什么我的换行符不起作用?

for($n=1; $n<=100; $n++)
{
    echo $n '\n';
}
?>
4

6 回答 6

6
  1. 你那里有语法错误,应该是$n . '\n'
  2. 您正在使用'单引号来引用换行符 ( \n),因此它被解释为文字\and n,将您的代码更改为:$n . "\n"使其输出为换行符

最终代码:

for($n = 1; $n <= 100; $n++)
{
    echo $n . "\n"; // or "$n\n" (thanks @ring0 for pointing that out)
}
于 2012-06-22T03:38:37.817 回答
0

使用点 ( .) 运算符进行字符串连接。

echo $n . "\n";
于 2012-06-22T03:38:36.530 回答
0

它需要在双引号中:

Echo $n . "\n";
于 2012-06-22T03:39:00.187 回答
0

新行在 HTML 中被忽略。改用<br />

for($n=1; $n<=100; $n++)
{
    echo $n . '<br />';
}
于 2012-06-22T03:41:24.303 回答
0

首先你的连接是错误的。它应该是

echo $n ."\n";

接下来,如果您使用它在浏览器中输出,您应该使用<br />

echo $n."<br />";

如果您将其写入文件或控制台并且希望独立于平台,请使用PHP_EOL

echo $n.PHP_EOL
于 2012-06-22T03:42:01.187 回答
0

好吧,还请记住,换行符在 HTML 中完全被忽略(否则你必须在一行上做标记!)

如果您希望获得这种效果,我建议您将输出包装在 nl2br 中,这会将您的换行符转换为 HTML 换行符“
”,以便它们正确显示。

nl2br($n . "\n");

要不就

echo $n . "<br>";
于 2012-06-22T03:42:13.697 回答