为什么PHP会添加" \ r \ n"一个空字符串?

时间:2015-06-08 13:06:24

标签: php rest request

我正在尝试在PHP中实现一个简单的服务。该服务需要将字符串返回给某些请求。但是,当我尝试回显字符串时,PHP会以某种方式将\r\n添加到字符串的开头。我正在使用echo输出回复。

我试图回应一个空格字符:

$test = ' '; 
echo $test;

在回复中我仍然有'\r\n'

我已尝试header('Content-type: text');$string = preg_replace("\r\n", "", $string);,但我仍然在回复中获得新行。

我是PHP的新手,所以如果这是某种概念,有人可以向我提供我可以阅读的信息指示吗?

1 个答案:

答案 0 :(得分:72)

这个角色可能位于您的源代码中,例如在您的脚本的末尾,例如:?>\r\n

最佳做法是永远不要在每个文件中包含最终?>以避免意外输出。

此建议位于PSR-2编码风格指南中。

  

必须从仅包含PHP的文件中省略结束?>标记。

它也在manual

  

如果文件是纯PHP代码,则最好省略文件末尾的PHP结束标记。这可以防止在PHP结束标记之后添加意外的空格或新行,这可能会导致不必要的影响,因为当程序员无意在脚本中发送任何输出时,PHP将启动输出缓冲。