Interpolación de cadenas
La diferencia entre comillas simples y dobles, y cómo construir cadenas a partir de variables.
2 min de lectura
PHP tiene dos formas habituales de escribir un literal de cadena, y el tipo de comilla que elijas no es solo cuestión de estilo — cambia cómo se procesa la cadena.
Comillas simples: literal, casi siempre
<?php
$name = "Amara";
echo 'Hello, $name!';
// Output: Hello, $name!Dentro de comillas simples, PHP trata el contenido de forma casi totalmente literal — una variable como $name se imprime tal cual, sin reemplazarse por su valor. Las únicas dos secuencias de escape que siguen funcionando son \\ (una barra invertida literal) y \' (una comilla simple literal).
Comillas dobles: interpolación
<?php
$name = "Amara";
echo "Hello, $name!";
// Output: Hello, Amara!Dentro de comillas dobles, PHP sustituye las variables directamente dentro de la cadena — esto se llama interpolación. También procesa secuencias de escape como \n (salto de línea) y \t (tabulación), algo que las cadenas con comillas simples no hacen.
Sintaxis de llaves para mayor claridad
<?php
$user = ["name" => "Amara"];
echo "Welcome, {$user['name']}!";Envolver una variable (especialmente un acceso a un array o a una propiedad de un objeto) entre {} hace explícito el límite de la expresión, evitando ambigüedad sobre dónde termina el nombre de la variable — esto importa especialmente cuando una variable va seguida inmediatamente de una letra o corchete que de otro modo podría interpretarse erróneamente como parte del nombre.
Concatenación con el operador punto
<?php
$first = "Amara";
$last = "Diallo";
$fullName = $first . " " . $last;
echo $fullName;. une cadenas, y .= añade contenido a una variable de cadena existente — ambos funcionan sin importar con qué tipo de comillas se crearon las piezas. La concatenación y la interpolación resuelven el mismo problema; cuál de las dos se lee con mayor claridad suele depender de cuántas variables estén involucradas.
Heredoc: cadenas multilínea con interpolación
<?php
$name = "Amara";
$message = <<<EOT
Dear $name,
Thank you for signing up.
EOT;
echo $message;La sintaxis heredoc (<<<EOT ... EOT;) se comporta como una cadena entre comillas dobles — con interpolación completa — pero abarca varias líneas sin necesitar \n ni concatenación de cadenas, lo que la hace muy adecuada para generar un bloque de texto más largo, como el cuerpo de un correo electrónico.
Una regla práctica general
Usa comillas simples por defecto para cadenas sin variables (son marginalmente más rápidas, ya que PHP no necesita buscar nada que interpolar), y cambia a comillas dobles en el momento en que necesites una variable o una secuencia de escape dentro de la cadena.
Pon a prueba lo que acabas de aprender
4 preguntas rápidas. Respóndelas todas correctamente para desbloquear la siguiente lección.
Puedes hacer el cuestionario sin una cuenta — iniciar sesión solo hace que tu resultado cuente para tu progreso.