2015-06-06 10 views
4

我想在瀏覽器中打印新行字符,但echo語句中的'\ n'什麼也不做。這段代碼有什麼錯誤?PHP新行字符不能正常工作

$n = 5; 
for($i= 0; $i<=$n; $i++) 
{ 
for($j=0; $j <= $n-$i-1; $j++) 
echo "&nbsp;"; 
for(; $j <= $n; $j++) 
echo '* '; 
echo "\n"; 
} 
+0

只是'回聲「
」;' – splash58

+1

我用這個作爲一種替代。但我想知道爲什麼這不工作 – PlanetHackers

+0

期待html頁面的來源。你會看到你的\ n :)它們是html中的空格 – splash58

回答

3

它的實際工作,如果你看到你的HTML源代碼,你會發現它,而HTML需要的<br>,而不是新行字符。如果您想將新行轉換爲<br>,則可以使用php功能nl2br

echo nl2br($stingHasNewLineChar); 
+0

感謝您的原因。 – PlanetHackers

3

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".