(0 votos)

Comillas simples y comillas dobles

En php se pueden usar comillas simples (') o comillas dobles (").

Son casi lo mismo, pero la diferencia es que la comillas simples muestran el contenido que encierran como texto, mientras que las comillas dobles sustituyen las variables por su valor real.

Así pues, si evaluamos el siguiente código:

<?php
$nombre = "Joan";
$apellido = 'Morell';
?>

En este caso, hemos usado comillas dobles para una variable y comillas simples para otra variable. El resultado es el mismo, pues en ambos casos el contenido es solo texto.

<?php
$nombre = "Joan";
$apellido = 'Morell';
echo 'Mi nombre es $nombre y mi apellido es $apellido';
?>

Al estar todo el contenido entre comillas, se mostrará por pantalla el siguiente texto: "Mi nombre es $nombre y mi apellido es $apellido".

Pero si lo ponemos de la siguiente forma:

 

<?php
$nombre = "Joan";
$apellido = 'Morell';
echo "Mi nombre es $nombre y mi apellido es $apellido";
?>

El texto mostrado por pantalla sería "Mi nombre es Joan y mi apellido es Morell".

Ahora supongamos que en una misma frase debemos mostrar al mismo tiempo el nombre de una variable y su contenido. Para estos casos, lo que se hace es concatenar cadenas con la utilización del punto.

Ejemplo:

<?php
$nombre = 'Joan';
echo 'La variable $nombre contiene el valor '.$nombre;
//Si queremos concatenar varias cadenas:
$apellido = 'Morell';
echo 'La variable $nombre contiene el valor '.$nombre.' y la variable $apellido contiene el valor '.$apellido;
?>

Como vemos, para concatenar cadenas se escribe tal cual lo haríamos de forma normal, hasta llegar a la variable a mostrar. Antes de escribirla, debemos cerrar comillas (hay que tener en cuenta los espacios entre la útlima palabra y el contenido de la variable y entre este contenido y la siguiente palabra. En mi caso, entre valor y la comilla que precede a la variable, hay un espacio). Para concatenar se utiliza el punto, así que a la variable siempre le precede un punto. Si después de la variable vamos a incluir más texto, o más variables, también hay que poner un punto delante de estas.

Es decir, que para concatenar siempre utilizamos un punto antes del elemento a concatenar. El texto siempre va entre comillas, las variables no.

Otro ejemplo de este método podría ser darle otro enfoque al tercer código que he utilizado:

<?php
$nombre = "Joan";
$apellido = 'Morell';
echo "Mi nombre es $nombre y mi apellido es $apellido";
?>

se podría poner también como

<?php
$nombre = "Joan";
$apellido = 'Morell';
echo 'Mi nombre es '.$nombre.' y mi apellido es '.$apellido.'<br>';
//Añadimos .'<br>' al final para hacer un salto de linea
?>

Comillas escapadas

Supongamos que queremos mostrar por pantalla L'alqueria blanca.

La comilla tras la "L" afectaría a la sintaxis que utilizamos.

Así pues

<?php
echo 'L'alqueria blanca';
?>

No mostraría nada, pues la segunda comilla, utlizada como apóstrofe, cerraría la cadena. La última comilla, utilizada para cerrar la cadena, abriría otra vez la cadena de texto, pues esta ya estaba cerrada a causa del apóstrofe. Al dejar la cadena abierta, se produce un error y no se muestra nada por pantalla.

Tenemos dos opciones, poner el texto entre comillas dobles

<?php
echo "L'alqueria blanca";
?>

o escapar las comillas

<?php
echo 'L\'alqueria blanca';
?>

Como veis, para escapar una comilla (darle función de texto y no de apertura de cadena) hay que introducir una barra inversa delante (\).

El mismo caso sería para las comillas dobles

<?php

echo '"Php es fácil", dijo el alumno.';

?>

El texto citado ha de ir entre comillas. Una forma de no fastidiar la cadena de texto es abrir la cadena con comillas simples y citar el texto con comillas dobles, pero otra forma sería abrir la cadena con comillas dobles y escapar las comillas de la citación

<?php
 
 echo "\"Php es fácil\", dijo el alumno.";
 
 ?>

Hay muchas formas de mostrar lo que uno quiere. Siempre hay más de una forma para una misma cadena. Combinando las comillas simples y dobles, la concatenación con el uso del punto y las comillas escapadas, podemos mostrar por pantalla cualquier texto que deseemos.

Comentarios (0)
¡Sólo los usuarios registrados pueden escribir comentarios!