6

Los saltos de linea en PHP "\n" con doble comillas funciona perfectamente.

echo "Primera linea php a separar de la segunda"."\n";

Pero con comillas simples, no funciona

echo 'Primera linea php a separar de la segunda"."\n';

Arroja el siguiente mensaje error

Parse error: syntax error, unexpected '\' (T_NS_SEPARATOR), expecting ',' or ';' in C:\xampp\trabajos\index.php on line 38

Ivan Botero
  • 6,513
  • 9
  • 33
  • 53
J. Mick
  • 111
  • 1
  • 13
  • 38

2 Answers2

8

Documentación

De acuerdo al Sitio Oficial de PHP.

La manera más sencilla de especificar un string es delimitarlo con comillas simples (el carácter ').

Para especificar una comilla simple literal, se ha de escapar con una barra invertida (\). Para especificar una barra invertida literal, se duplica (\\). Todas las demás instancias de barras invertidas serán tratadas como una barra invertida literal: esto significa que otras secuencias de escape que podrían utilizarse, tales como \r o \n, serán mostradas literalmente tal y como se especifican, en lugar de tener cualquier otro significado especial.


¿Qué nos quiere decir esto?

Cualquier carácter que se encierre entre comillas simples, será tomado como un carácter literal y no se hará interpolación en su contenido.


Posibles Soluciones

<?php
    echo 'Un elefante se balanceaba' . PHP_EOL;
    echo 'Sobre la tela de una araña' . "\n";
?>

Resultado

Un elefante se balanceaba
Sobre la tela de una araña

Explicación

Obviando el hecho, de la restricción de las comillas simples, puedes o bien, usar el operador de concatenación . (punto) y agregar a la cadena un salto de línea, o bien puedes usar la constante PHP_EOL cuyo significado deriva de la palabra End Of Line, lo que agregará al final de tu texto un salto de línea.


Ejemplo en linea!

Ivan Botero
  • 6,513
  • 9
  • 33
  • 53
0

esta mal escrito si empiezas un string con ''(comillas simples) debes comenzar y terminar con comillas simples

echo 'Primera linea php a separar de la segunda' . '\n';

tu error esta en poner comillas dobles en un str con comillas simples

BetaM
  • 30,571
  • 7
  • 32
  • 50