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?


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;

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



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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.