[php] Différence entre \n et \r [Résolu/Fermé]

Signaler
Messages postés
2997
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
3 juin 2013
-
Messages postés
1
Date d'inscription
jeudi 31 août 2017
Statut
Membre
Dernière intervention
31 août 2017
-
Bonjour !

Ben voilà, ça me trotte dans la tête depuis un petit moment...

C'est quoi la différence entre \n (nouvelle ligne) et \r (retour à la ligne) ?

Ça ne doit pas être exactement pareil... Y a-t-il des cas où l'un est préférable à l'autre ?

J'ai essayé de chercher, mais vu que les "\" ne sont pas pris par les moteurs de recherches... Même avec des guillemets !

Merci !

@+

6 réponses

Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
493
Salut,

le '\n' c'est le LF (Line Feed) et '\r' le CR (carriage return). Les premiers
télétypes et imprimantes nécessitaitent les deux caractères pour faire un saut
de ligne.
Puis ensuite, le LF suffisait pour faire CR + LF.
Sous Windows et en particulier le Notepad, un saut de ligne ce code CR puis LF,
Wordpad se comporte aussi bien avec uniquement LF.
Sous Linux, la plus part du temps seul le LF est utilisé.

Perso, j'utilise que le LF, mais je bosse quasiment que sous Unix / Linux.

Si tu veux plus d'info, les acronymes CR et LF te permettront de trouver des
informations complémentaires sur le NET.

A+, Crabs
130
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
1
Date d'inscription
jeudi 31 août 2017
Statut
Membre
Dernière intervention
31 août 2017

merci pour cette réponse . j'apporte quelques précisions :

en PHP nous pouvons utilisé "\n" et "\r"
"\n" est un passage à la ligne
"\r" est un retour aux début de la ligne actuel
effectivement sous Windows le retour à la ligne officiel s'effectue avec un "\r\n"
sous Linux c'est juste un "\n"
sous PHP nous pouvons utilise "\n" et "\r\n" ou le retour à la ligne officiel PHP_EOL
exemple: echo 'FooBar' . PHP_EOL;
et pour finir sous PHP on utilise "\r" pour écrire sur la même ligne des informations
mais tout cela est purement coté console et n'est pas reconnu dans les pages web.
la tabulation existe aussi "\t" et le bite Zero ou null "\0"
et sous PHP il est obligatoire d’utilisé les chevrons double " " et non les guillemet simple ' ' pour \r \n \t \0 sinon ça ne marche pas.

PS: je crois bien que sous PHP "\r\n" provoque une forme de double saute de ligne à teste
Messages postés
18228
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
5 039
A l'époque des teletypes, en fin de ligne, la tête d'impression (boule, cylindre, aiguilles) devait physiquement se repositionner à gauche CR= retour du charriot, puis le papier devait avancer d'une ligne, LF.
Ne pas exécuter de LF permettait des surimpressions
Messages postés
18228
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
5 039
L'informatique n'échappe pas à son histoire.
La disposition des lettres sur un clavier date des premières machines à écrire !
Combien de milliards de fichiers sont stockés avec CF/LF en fin de lignes !
Et les tâches ancillaires sur Unix ... de ancilla, ae la servante en latin !
Sur Unix, les terminaux sont connectés aux périphériques /dev/tty ... de teletype.
Et en quoi tu réponds à sa question ? ;)
En juste 4cm au dessus ;)
> scouiky
Excellent la réponse 7ans plus tard!
Messages postés
2997
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
3 juin 2013
456
Explications complètes et très claires !

Merci beaucoup !

@+
Messages postés
2997
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
3 juin 2013
456
OK. Époque révolue, mais fonctions toujours présentes en informatique !
Messages postés
2997
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
3 juin 2013
456
Je sais bien, j'ai étudié tout ça ! Mais c'est pas pour autant qu'on nous fait le rapprochement avec CR ou LF !

Mais je savais pour tty !

++