Всякий раз, когда я делаю эхо в PHP, я получаю два дополнительных возврата каретки. Например:
<?php echo 'abc'; ?>
дает abc [cr] [cr]. Если я копирую свой сценарий на другой сервер, я даже получаю [cr] abc [cr] [cr].
Как заставить PHP повторять только мою строку «abc», а не возврат каретки?
echo
не добавляет \n
в PHP.
Вы можете отказаться от закрытия ?>
Хотя, тогда вы гарантируете, что у вас не будет никакого трейлинг-вывода.
Удалить два возврата каретки после ?>
(Или удалить ?>
)
PHP-скрипты изначально размещены в файлах HTML и, таким образом, чувствительны к пробелу. Это означает, что любое белое пространство, окружающее ваши теги, будет отображаться на экране. Как бы вы хотели, чтобы это было так, как могло быть в середине абзаца!
Как показывают другие ответы, либо очистите новую строку, возвращающую ваши теги, либо вы можете обмануть удаленные окончания строки, обманув интерпретатор PHP – оставив окончательный тег «?>».
Я должен заключить, что настройка сервера заставляет PHP предшествовать и следовать за всем выходом с произвольным числом возвратов каретки. Конечно, это ошибка в конфигурационных файлах веб-хоста, с которым я работаю. Это не должно быть так.
echo
по умолчанию не имеет возврата каретки.
Неожиданное пустое пространство или линии в основном вызваны использованием сценария. Если ваш процесс будет находиться в одной строке, тогда также используйте одну строку со стороны скрипта. Что касается этого примера; `
На другой теме в качестве подсказки, даже для более удобных вещей, вы можете сделать это для простых операторов if
/ else
с использованием условных операторов
Рассмотрим следующий пример: <?php echo ($foo == "bar") ? "Foo was bar." : "Foo wasn't bar."; ?>
<?php echo ($foo == "bar") ? "Foo was bar." : "Foo wasn't bar."; ?>