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?


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;

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



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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.