为什么PHP将“\ r \ n”添加到空string?
我试图在PHP中实现一个简单的服务。 该服务需要将string返回给某些请求。 但是,当我尝试回显string时,PHP以某种方式将\r\n
添加到string的开头。 我正在使用echo
来输出响应。
我试图回应一个空格字符:
$test = ' '; echo $test;
在回应中我还是得到'\r\n'
。
我试过header('Content-type: text');
和$string = preg_replace("\r\n", "", $string);
,但我仍然在回应中获得新的线。
我是PHP的新手,所以如果这是一种概念,有人可以给我提供信息的指针,我可以在那里读到它吗?
有可能这个字符在你的源代码中,例如你的脚本的末尾,比如: ?>\r\n
。
最佳做法是不要在每个文件中包含最终的?>
以避免意外输出。
这个build议在PSR-2编码风格指南中。
closures
?>
标签务必从只包含PHP的文件中省略。
这也在手册中 。
如果文件是纯PHP代码,则最好在文件末尾省略PHP结束标记。 这样可以防止在PHP结束标记之后添加意外的空白或新行,这可能会导致不必要的效果,因为当程序员无意在脚本中的任何位置发送输出时,PHP将开始输出缓冲。