Aprendiendo PHP, parte 5: Cadenas de texto

En la publicación pasada aprendimos a trabajar con las variables numéricas, en esta ocasión aprenderemos lo que es probablemente el tipo de dato más utilizado en PHP, los string o cadenas de texto.

En primer lugar para definir el valor de un string, debemos utilizar comillas simples o dobles.

Comillas simples:

<?php
   $saludo = 'Hola mundo';
?>

Comillas dobles:

<?php
   $saludo = "Hola mundo";
?>

 

Concatenación

El concatenado nos permite unir cadenas a través del operador punto (.) Por ejemplo:

<?php
   $nombre = 'Fernando';
   $apellido = 'Gaitan';
   $nombre_completo = $nombre . ' ' . $apellido;
   echo $nombre_completo;
?>

Esto finalmente nos devolverá por pantalla:

Fernando Gaitan

También podríamos concatenar una cadena dentro de la misma variable:

<?php
   $nombre_completo = 'Fernando';
   $nombre_completo = $nombre_completo . ' Gaitan';
   echo $nombre_completo;
?>

En este caso creamos una variable con un valor, y luego la sobreescribimos concatenando el valor actual de la variable con el texto adicionado y devolvería lo mismo.

 

Asignación

Otra forma de unir cadenas es mediante el operador de asignación punto igual (.=)

<?php
 $cancion = 'Cuenta la historia de un mago';
 $cancion .= ' / ';
 $cancion .= 'Que un día en su bosque encantado lloró';
 $cancion .= ' / ';
 $cancion .= 'Porque a pesar de su magia no había podido encontrar el amor.';
 echo $cancion;
?>

Esto imprimirá por pantalla:

Cuenta la historia de un mago / Que un dí­a en su bosque encantado lloró / Porque a pesar de su magia no habí­a podido encontrar el amor.

Mediante el operador de asignación iremos, como su palabra lo indica, asignando o agregando texto a una variable de tipo string.

 

Comillas simples y dobles

A pesar de que podemos usar comillas simples y dobles para definir cadenas de texto, ambas formas presentan una diferencia. Si nosotros tuviésemos por ejemplo que concatenar un string con otras variables tendríamos que hacer algo cómo esto:

<?php
   $nombre = 'Charly';
   $color = 'Blanco';
   $raza = 'Dogo';
   echo $nombre . ' es un perro de color ' . $color . ' y de raza ' . $raza;
?>

Esto imprime por pantalla:

Charly es un perro de color Blanco y de raza Dogo

Al tener una cadena que mezcla textos con variables debemos concatenar todo separando con puntos el texto y las variables.

Sin embargo, si hiciéramos lo mismo con comillas dobles no necesitaríamos utilizar el operador punto para concatenar, ya que las comillas dobles pueden distinguir dentro de sí cuando llamamos a una variable. Entonces otra forma más amigable de realizar lo que hicimos es:

<?php
   $nombre = 'Charly';
   $color = 'Blanco';
   $raza = 'Dogo';
   echo "$nombre es un perro de color $color y de raza $raza";
?>

Por esto siempre se aconseja que las comillas dobles se utilicen sólo cuando la cadena está mezclada con texto, en el resto de los casos, se debería usar comillas simples.

Otra razón para saber si usamos una u otra es dependiendo de si el texto muestra, literalmente comillas simples o dobles. Por ejemplo para mostrar por pantalla las comillas dobles:

<?php
   $frase = 'Arquimedes gritaba: "Eureka, Eureka" mientras celebraba su descubrimiento.';
   echo $frase;
?>

Esto nos devolverá por pantalla:

Arquimedes gritaba: "Eureka, Eureka" mientras celebraba su descubrimiento.

Si en cambio necesitamos usar comillas simples:

<?php
   $frase = "Arquimedes gritaba: 'Eureka, Eureka' mientras celebraba su descubrimiento.";
   echo $frase;
?>

Esto en cambio devolverá:

Arquimedes gritaba: 'Eureka, Eureka' mientras celebraba su descubrimiento.

 

Anterior: Aprendiendo PHP, parte 4: Números

Siguiente: Aprendiendo PHP, parte 6: Arreglos