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

2022-08-30 12:14:48

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

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

$test = ' '; 
echo $test;

在回应中,我仍然得到.'\r\n'

我已经尝试过和,但我仍然在响应中得到新的行。header('Content-type: text');$string = preg_replace("\r\n", "", $string);

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


答案 1

此字符可能位于源代码中的某个位置,例如在一个脚本的末尾,例如:.?>\r\n

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

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

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

它也在手册中。

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


答案 2

推荐