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


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

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

$test = ' '; 
echo $test;

И в ответе я все равно получил '\r\n'.

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

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

Author: Oliver, 2015-06-08

1 answers

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

Рекомендуется никогда не включать окончательный ?> в каждый файл, чтобы избежать случайного вывода.

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

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

Это также есть в руководстве .

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

 71
Author: Halcyon, 2015-06-08 14:01:25