Nowa linia w PHP CLI

106

Mam skrypt CLI php i nie mogę spowodować przerwania danych wyjściowych w nowych wierszach. ja robię

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

To daje

this is my text\r\nnext line

Jakieś pomysły, jak uzyskać dane wyjściowe w różnych wierszach?

BetaRide
źródło
4
Użyj cudzysłowów: echo "\n";.
Kerrek SB,

Odpowiedzi:

242

Użyj cudzysłowów ".

echo "next line\n";

Dodatkowo można użyć stałej zależnej od systemu PHP_EOL

echo "this is my text" . PHP_EOL;
KingCrunch
źródło
34
Użycie PHP_EOL powinno być preferowaną metodą dodawania nowych linii.
AutomaticPixel
3
@AutomaticPixel Ze względu na kompatybilność z platformami tak, w celu zapewnienia zgodności między platformami należy użyć \nzamiast tego.
KingCrunch
2
to było pomocne i naprawdę szybkie rozwiązanie :) tnx za udostępnienie
Aditya P Bhatt
3
@KingCrunch, co masz na myśli mówiąc o „kompatybilności między platformami”?
edigu
1
@foozy Na przykład generujesz coś w systemie Linux, ale chcesz to przeczytać w systemie Mac lub systemie Win. Jeśli nie znasz systemu docelowego, lub może zmienić (-> ktoś przesyła mail z wygenerowanym pliku jako załącznik), zastosowanie\n
KingCrunch
14

Zamiast tego użyj cudzysłowów. ".

Daniel A. White
źródło
3

Lepiej nie konkatenować niczego w PHP, ponieważ może to prowadzić do nieoczekiwanych rezultatów, zamiast tego użyj przecinka:

echo 'Text with new line' , PHP_EOL;

Nawiasem mówiąc, będzie to również szybsze: brak konkatenacji i unikanie przeanalizowanych podwójnych cudzysłowów.

emix
źródło