我想在浏览器中打印一个换行符,但是在echo语句中使用'\n'没有任何作用。这段代码有什么问题?
$n = 5;
for($i= 0; $i<=$n; $i++)
{
for($j=0; $j <= $n-$i-1; $j++)
echo " ";
for( ; $j <= $n; $j++)
echo '* ';
echo "\n";
}
我想在浏览器中打印一个换行符,但是在echo语句中使用'\n'没有任何作用。这段代码有什么问题?
$n = 5;
for($i= 0; $i<=$n; $i++)
{
for($j=0; $j <= $n-$i-1; $j++)
echo " ";
for( ; $j <= $n; $j++)
echo '* ';
echo "\n";
}
PHP中的"echo"
命令会将输出作为原始HTML发送到浏览器,因此即使在双引号中,浏览器也不会将其解析为两行,因为HTML中的换行符是没有意义的。这就是为什么您需要使用以下方法之一:
echo [output text]."<br>";
when using "echo", or instead use fwrite...
fwrite([output text]."\n");
This will output HTML newline in place of "\n".
实际上,它是有效的,如果您查看HTML源代码,您将找到它,而HTML需要使用<br>
代替换行符。如果您想将换行符转换为<br>
,您可以使用PHP函数nl2br。
echo nl2br($stingHasNewLineChar);
echo '<br/>';
。 - splash58