PHP正在删除在echo语句后键入的换行符

时间:2016-12-29 20:59:17

标签: php

考虑test.php

OK
here
<?php echo "now"; ?>
what

如果你要运行这个文件,你可以期望它输出如下:

OK
here
now
what

但它返回

OK
here
nowwhat

造成这种情况的原因是什么?可以预防吗?

P.S。

如果你在php代码所在的行之后添加任何字符,甚至是空格,那么就会重新获得换行符。

OK
here
<?php echo "now"; ?>[space]
what

2 个答案:

答案 0 :(得分:2)

  

与在C或Perl中一样,PHP要求在每个语句结尾处以分号结束指令。 PHP代码块的结束标记自动表示分号;你不需要一个分号来终止PHP块的最后一行。 该块的结束标记将包含紧接着的新行(如果存在)。

来自php.net

因此换行的“吃”是预期的行为。您找到的解决方法是放置空格,或使用上面的答案并添加\ n。

答案 1 :(得分:0)

请在echo

中添加一个break标记
OK
here
<?php echo "now <br>"; ?>
what

你的输出将是这样的:

OK
here
now
what