Nouvelle ligne sur PHP CLI

106

J'ai un script CLI php et je ne peux pas faire en sorte que la sortie soit interrompue sur de nouvelles lignes. je fais

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

Cela donne

this is my text\r\nnext line

Des idées sur la façon d'obtenir la sortie sur différentes lignes?

BetaRide
la source
4
Utilisez des guillemets doubles: echo "\n";.
Kerrek SB

Réponses:

242

Utilisez des guillemets doubles ".

echo "next line\n";

De plus, vous pouvez utiliser la constante dépendante du système PHP_EOL

echo "this is my text" . PHP_EOL;
KingCrunch
la source
34
L'utilisation de PHP_EOL devrait être la méthode préférée pour ajouter de nouvelles lignes.
AutomaticPixel
3
@AutomaticPixel Pour la compatibilité de plate-forme oui, pour la compatibilité inter-plate-forme, vous devriez utiliser à la \nplace.
KingCrunch
2
c'était une solution utile et vraiment rapide :) tnx pour le partage
Aditya P Bhatt
3
@KingCrunch qu'entendez-vous par «compatibilité inter-plateforme»?
edigu
1
@foozy Par exemple, vous générez quelque chose sous Linux mais vous voulez le lire sur un système Mac ou un système Win. Si vous ne connaissez pas le système cible, ou s'il peut changer (-> quelqu'un transfère un mail avec un fichier généré en pièce jointe), utilisez\n
KingCrunch
14

Utilisez plutôt des guillemets doubles. ".

Daniel A. White
la source
3

Mieux vaut ne rien concaténer en PHP, car cela peut conduire à des résultats inattendus, utilisez plutôt une virgule:

echo 'Text with new line' , PHP_EOL;

Ce sera aussi plus rapide en passant: ne pas concaténer et éviter les guillemets doubles analysés.

emix
la source