JTagua

Inicio » PHP » Tipos escalares » string

Archivo de la categoría: string

Tutorial PHP(8): Tipo string.

Una cadena o string es una serie de caracteres, donde un carácter es lo mismo que un byte. Esto significa que PHP solo admite un conjunto de 256 caracteres, y por lo tanto no tiene soporte nativo para Unicode. Una cadena o string puede llegar a alcanzar 2GB de tamaño.

Sintaxis.

Un string literal puede ser especificado de cuatro formas diferentes:

  • comillas simples
  • comillas dobles
  • sintaxis heredoc
  • sintaxis nowdoc (desde PHP 5.3.0)

Comillas simples.

La manera más sencilla de especificar un string es encerrarlo entre comillas simples (el caracter ).

Para especificar una comilla simple literal, se escapa con una barra invertida (\). Para especificar una barra invertida literal, se duplica (\\). Todas las otras instancias de barras invertidas serán tratadas como una barra invertida literal: esto significa que otras secuencias de escape que se puedan utilizar, tales como \r or \n, serán mostradas literalmente como se especifican en lugar de tener cualquier significado especial.

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

</div>
<div><code> <?php
echo 'Esto es una cadena sencilla';

echo 'Tambien puede incluir nuevas líneas en
cadenas 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 $expandiran
echo 'Las variables $tampoco se $expandiran';
?></code></div>
<div></div>
<div><code>

Comillas dobles.

Si un string está encerrado entre comillas dobles (“), PHP interpretará más sentencias de escape como caracteres especiales:

Image1

Al igual que en la delimitación de un string mediante comillas simples, escapar cualquier otro caracter puede dar lugar a que se muestre tambien la barra invertida. Antes de PHP 5.1.1, la barra invertida en \{$var} no se mostraba.

La característica más importante de entrecomillar un string mediante comillas dobles es el hecho que los nombres de las variables son expandidas.

Heredoc.

Una tercera forma de delimitar un string es mediante la sintaxis heredoc: <<<. Después de este operador, se deberá ofrecer un identificador y 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 caracter alfabético o un guión bajo.

Es muy importante señalar que la línea con el identificador de cierre no debe contener ningún otro carácter, excepto un punto y coma (;). Esto significa especialemnte que el identificador no debe usar sangría, y que no deben existir ningún espacio ni tabulación antes o después del punto y coma. Es muy importante darse cuenta que el primer caracter antes del identificador de cierre debe ser un salto de línea definida por el sistema operativo local. Este es \n en los sistemas UNIX, incluyendo Mac OS X. El delimitador de cierre debe también estar seguido por una nueva línea.

Si se rompe esta regla y el identificador de cierre no está “limpio”, no será considerado como un identificador de cierre, y PHP continuará buscando uno. Si no se encuentra ningún identificador de cierre antes del final del fichero, se producirá un error de análisis en la última línea.

Tampoco se puede emplear Heredocs para inicializar las propiedades de una clase. Desde PHP 5.3, esta limitación solo concierne a los heredocs que contengan variables.