为什么PHP将"\ r \n"添加到空字符串?

Ale*_*iev 40 php rest request

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

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

$test = ' '; 
echo $test;
Run Code Online (Sandbox Code Playgroud)

在我的回应中我还有'\r\n'.

我曾尝试header('Content-type: text');$string = preg_replace("\r\n", "", $string);,但我仍然获得在响应中的新生产线.

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

Hal*_*yon 72

这个字符可能在某个地方的源代码中,例如在脚本的末尾,例如:?>\r\n.

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

此建议在PSR-2编码样式指南中.

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

它也在手册中.

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

  • 你是认真的吗?从不包括结束标签是最佳做法? (57认同)
  • 还要警惕开放标签前的偷偷摸摸的空间:`<?php`!你不会是第一个把时间浪费在这个鬼鬼祟祟的问题上的人 (8认同)
  • @EliranMalka是的. (7认同)
  • 究竟是怎么回事. (4认同)
  • 说实话,我从来没有正确地理解PHP,我对那些使用大型代码库并保持理智的开发人员深表敬意.然后是Laravel. (4认同)