Probabilmente confondi l'output sul browser con l'output della stringa.
Un \n è un a capo all'interno del programma, però se vuoi farlo diventare un acapo per l'html devi usare
e c'è anche una funzione specifica del php: nl2br()
Tieni conto che php funziona indipendentemente dal fatto che normalmente si usa in un browser. Lo puoi anche lanciare da linea di comando e in quel caso l'acapo è \n.