Новая строка в интерфейсе командной строки PHP


106

У меня есть скрипт CLI php, и я не могу заставить вывод разбиваться на новые строки. я делаю

echo 'this is my text\r\n';
echo 'next line';

Это дает

this is my text\r\nnext line

Есть идеи о том, как получить вывод на разных строках?


4
Используйте двойные кавычки: echo "\n";.
Kerrek SB

Ответы:


242

Используйте двойные кавычки ".

echo "next line\n";

Дополнительно вы можете использовать системно-зависимую константу PHP_EOL

echo "this is my text" . PHP_EOL;

34
Использование PHP_EOL должно быть предпочтительным методом добавления новых строк.
AutomaticPixel

3
@AutomaticPixel Для совместимости платформ да, для межплатформенной совместимости вы должны использовать \nвместо этого.
KingCrunch

2
это было полезное и очень быстрое решение :) спасибо за обмен
Адитья П. Бхатт

3
@KingCrunch, что вы имеете в виду под "межплатформенной совместимостью"?
edigu

1
@foozy Например, вы создаете что-то в Linux, но хотите прочитать это в Mac-системе или Win-системе. Если вы не знаете целевую систему или она может измениться (-> кто-то пересылает письмо со сгенерированным файлом в качестве вложения), используйте\n
KingCrunch



3

Лучше ничего не объединять в PHP, потому что это может привести к неожиданным результатам, вместо этого используйте запятую:

echo 'Text with new line' , PHP_EOL;

Это, кстати, тоже будет быстрее: без конкатенации и без синтаксического анализа двойных кавычек.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.