Uso de comillas simples, dobles y diagonal en PHP


Entrecomillado simple
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.

Nota: A diferencia de las sintaxis de entrecomillado doble y heredoc, las variables y las sentencias de escape para caracteres especiales no se expandirán cuando estén incluidas dentro de un string entre comillas simples.

<?php
echo 'Esto es una cadena sencilla';

echo 'También se pueden incluir nuevas líneas en
un string de esta forma, ya que es
correcto hacerlo así';

// Resultado: Arnold una vez dijo: "I'll be back"
echo 'Arnold una vez dijo: "I\'ll be back"';

// Resultado: Ha borrado C:\*.*?
echo 'Ha borrado C:\\*.*?';

// Resultado: Ha borrado C:\*.*?
echo 'Ha borrado C:\*.*?';

// Resultado: Esto no se expandirá: \n una nueva línea
echo 'Esto no se expandirá: \n una nueva línea';

// Resultado: Las variables $tampoco se $expandirán
echo 'Las variables $tampoco se $expandirán';
?>

Entrecomillado doble
Si un string está delimitado con comillas dobles ("), PHP interpretará las siguientes secuencias de escape como caracteres especiales:

Caracteres escapados
Secuencia           Significado
\n           avance de línea (LF o 0x0A (10) en ASCII)
\r            retorno de carro (CR o 0x0D (13) en ASCII)
\t            tabulador horizontal (HT o 0x09 (9) en ASCII)
\v           tabulador vertical (VT o 0x0B (11) en ASCII) (desde PHP 5.2.5)
\e           escape (ESC o 0x1B (27) en ASCII) (desde PHP 5.4.4)
\f            avance de página (FF o 0x0C (12) en ASCII) (desde PHP 5.2.5)
\\            barra invertida
\$           signo de dólar
\"            comillas dobles


\[0-7]{1,3}          la secuencia de caracteres que coincida con la expresión regular es un carácter en notación octal, que silenciosamente desborda para encajar en un byte (p.ej. "\400" === "\000")
\x[0-9A-Fa-f]{1,2}           la secuencia de caracteres que coincida con la expresión regular es un carácter en notación hexadecimal
\u{[0-9A-Fa-f]+}              la secuencia de caracteres que coincida con la expresión regular es un punto de código de Unicode, la cual será imprimida al string como dicha representación UTF-8 del punto de código (añadido en PHP 7.0.0)
Al igual que en el entrecomillado simple de un string, escapar cualquier otro carácter puede dar lugar a que se muestre también la barra invertida. Antes de PHP 5.1.1, no se mostraba la barra invertida de \{$var}.

La característica más importante del entrecomillado doble de un string es el hecho de que se expanden los nombres de las variables. Consulte el análisis de string para más detalles.

Heredoc
Una tercera forma de delimitar un string es mediante la sintaxis heredoc: <<<. Después de este operador, se deberá proporcionar un identificador y justo después una nueva línea. A continuación va el propio string, y para cerrar la notación se pone el mismo identificador.

El identificador de cierre debe empezar en la primera columna de la nueva línea. Asimismo, el identificador debe seguir las mismas reglas de nomenclatura de las etiquetas en PHP: debe contener solo caracteres alfanuméricos y guiones bajos, y debe empezar con un carácter alfabético o un guión bajo.

No hay comentarios.:

Publicar un comentario