Почему PHP добавляет "\ r\n" к пустой строке?

Я пытаюсь реализовать простую службу в PHP. Служба должна возвращать строки к определенным запросам. Однако, когда я пытаюсь повторить строку, PHP каким-то образом добавляет \r\n в начало строки. Я использую echo для вывода ответа.

Я попытался повторить один пробельный символ:

$test = ' '; 
echo $test;

и в ответе я все еще получил '\r\n'.

Я пробовал header('Content-type: text'); и $string = preg_replace("\r\n", "", $string);, но я все еще получаю новую строку в ответе.

Я новичок в PHP, поэтому, если это какая-то концепция, может ли кто-нибудь предоставить мне указатели на информацию, где я могу прочитать об этом?

Ответ 1

Возможно, этот символ находится в вашем исходном коде где-то, например, в конце одного из ваших скриптов, например: ?>\r\n.

Лучшая практика - никогда не включать окончательный ?> в каждый файл, чтобы избежать случайного выхода.

Эта рекомендация приведена в PSR-2 Руководстве по стилю кодирования.

Закрывающий тег ?> ДОЛЖЕН быть опущен из файлов, содержащих только PHP.

Он также находится в руководстве.

Если файл является чистым PHP-кодом, предпочтительно опустить закрывающий тег PHP в конце файла. Это предотвращает случайные пробелы или новые строки, добавляемые после тега закрытия PHP, что может вызвать нежелательные эффекты, потому что PHP начнет буферизацию вывода, когда нет намерения программиста отправить любой вывод в этой точке в script.