Saltar la navegación

1.2.- Cadenas de texto.

Imagen de un fragmentos de una código curvándose sobre un fondo oscuro.e un libro,t exto escrito en papel
xresch (Pixabay License)

En PHP las cadenas de texto pueden usar tanto comillas simples como comillas dobles. Sin embargo hay una diferencia importante entre usar unas u otras. Cuando se pone una variable dentro de unas comillas dobles, se procesa y se sustituye por su valor. Así, el ejemplo anterior sobre el uso de print también podía haberse puesto de la siguiente forma:

<?php
    $modulo="DWES";
    print "<p>Módulo: $modulo</p>"
?>

La variable $modulo se reconoce dentro de las comillas dobles, y se sustituye por el valor "DWES" antes de generar la salida. Si esto mismo lo hubieras hecho utilizando comillas simples, no se realizaría sustitución alguna.

Para que PHP distinga correctamente el texto que forma la cadena del nombre de la variable, a veces es necesario rodearla entre llaves. Sobre todo cuando trabajemos con POO.

print "<p>Módulo: ${modulo}</p>"

Cuando se usan comillas simples, sólo se realizan dos sustituciones dentro de la cadena:

  1. Cuando se encuentra la secuencia de caracteres \', se muestra en la salida una comilla simple.
  2. Cuando se encuentra la secuencia \\, se muestra en la salida una barra invertida.

Estas secuencias se conocen como secuencias de escape. En las cadenas que usan comillas dobles, además de la secuencia \\, se pueden usar algunas más, pero no la secuencia \'. En esta tabla puedes ver las secuencias de escape que se pueden utilizar, y cuál es su resultado.

Secuencias de escape.

Secuencia

Resultado

\\

se muestra una barra invertida.

\'

se muestra una comilla simple.

\"

se muestra una comilla doble.

\n

se muestra un avance de línea (LF o 0x0A (10) en ASCII).

\r

se muestra un retorno de carro (CR o 0x0D (13) en ASCII).

\t

se muestra un tabulador horizontal (HT o 0x09 (9) en ASCII).

\v

se muestra un tabulador vertical (VT o 0x0B (11) en ASCII).

\f

se muestra un avance de página (FF o 0x0C (12) en ASCII).

\$

se muestra un signo del dólar.

En PHP tienes dos operadores exclusivos para trabajar con cadenas de texto. Con el operador de concatenación punto (.) puedes unir las dos cadenas de texto que le pases como operandos. El operador de asignación y concatenación (.=) concatena al argumento del lado izquierdo la cadena del lado derecho.

<?php
    $a = "Módulo ";
    $b = $a . "DWES"; // ahora $b contiene "Módulo DWES"
    $a .= "DWES"; // ahora $a también contiene "Módulo DWES"
?> 

En PHP tienes otra alternativa para crear cadenas: la sintaxis heredoc. Consiste en poner el operador "<<<" seguido de un identificador de tu elección, y a continuación y empezando en la línea siguiente la cadena de texto, sin utilizar comillas. La cadena finaliza cuando escribes ese mismo identificador en una nueva línea. Esta línea de cierre no debe llevar más caracteres, ni siquiera espacios o sangría, salvo quizás un punto y coma después del identificador.

<?php
    $a = <<<MICADENA
    Desarrollo de Aplicaciones Web<br />
    Desarrollo Web en Entorno Servidor
    MICADENA;
    print $a;
?> 

El texto se procesa de igual forma que si fuera una cadena entre comillas dobles, sustituyendo variables y secuencias de escape. Si no quisieras que se realizara ninguna sustitución, debes poner el identificador de apertura entre comillas simples.

$a = <<<'MICADENA'

... 

MICADENA;