W3docs

echo

La palabra clave "echo" en PHP se usa para mostrar una o más cadenas. En este artículo exploramos su sintaxis y su uso detallado.

La sentencia echo de PHP

echo es la forma más común de enviar salida desde un script PHP al navegador (o a la consola). Es una construcción del lenguaje, no una función propiamente dicha, razón por la cual se suele utilizar sin paréntesis. Esta página explica su sintaxis, en qué se diferencia de print, la etiqueta abreviada <?= ?> y los errores comunes que confunden a los principiantes.

Si eres nuevo en la salida de datos en PHP, también te resultará útil leer PHP echo y print para una comparación lado a lado, y variables PHP para entender los valores que imprimirás.

Sintaxis

echo expression1, expression2, ...;
  • Los argumentos se separan con comas.
  • Dado que echo es una construcción del lenguaje, los paréntesis son opcionales. echo "Hi"; y echo("Hi"); funcionan ambas — pero ten en cuenta que echo("a", "b"); es un error de sintaxis, ya que los paréntesis solo envuelven un único argumento.

Salida básica

<?php

echo "Hello World!";        // Hello World!
echo "\n";                   // newline
echo "Hello", " ", "World!"; // Hello World!

Pasar varios argumentos separados por comas es marginalmente más rápido que construir una sola string con el operador de concatenación (.), porque PHP no necesita crear primero la string unida.

Impresión de variables

<?php

$name = "John";
$age  = 30;

// Concatenation with the . operator
echo "My name is " . $name . " and I am " . $age . " years old.";

Dentro de las strings con comillas dobles, PHP también interpola variables directamente, lo que suele ser más limpio que la concatenación:

<?php

$name = "John";
echo "Hello, $name!";        // Hello, John!
echo "Hello, {$name}san!";   // Hello, Johnsan! (braces clarify the variable name)

Las strings con comillas simples no interpolán — echo 'Hello, $name'; imprime el literal Hello, $name. Consulta strings PHP para las reglas completas.

"Pruébalo tú mismo" no está disponible para este ejemplo.

La etiqueta echo corta <?= ?>

Cuando mezclas PHP con HTML, <?= ?> es una abreviación de <?php echo ?>. Está habilitada por defecto en PHP y es la forma idiomática de imprimir un único valor dentro de una plantilla:

<p>Welcome, <?= $username ?>!</p>

<!-- equivalent to: -->
<p>Welcome, <?php echo $username; ?>!</p>

echo vs print

Ambas producen salida, pero existen diferencias:

Característicaechoprint
Múltiples argumentosSí (separados por comas)No (solo uno)
Valor de retornoNingunoSiempre devuelve 1
Usable en expresionesNoSí (p. ej. $ok = print "Hi";)
VelocidadMarginalmente más rápidoMarginalmente más lento

Dado que print devuelve 1, puede aparecer dentro de una expresión; echo no puede. Consulta La sentencia print de PHP para más detalles.

Errores comunes

  • No se devuelve ningún valor. $x = echo "Hi"; es un error fatal — echo no puede asignarse ni usarse en expresiones.
  • Los paréntesis con comas fallan. echo("a", "b"); es inválido; elimina los paréntesis: echo "a", "b";.
  • Escapar la entrada del usuario. Imprimir datos no confiables directamente en HTML invita a ataques XSS. Pásalos primero por htmlspecialchars(): echo htmlspecialchars($comment);.
  • PHP_EOL vs "\n". Usa la constante PHP_EOL cuando necesites el salto de línea correcto para el sistema operativo actual (por ejemplo, al escribir en la consola en lugar de en un navegador).

Práctica

Práctica
¿Cuál es la forma correcta de usar la función echo en PHP?
¿Cuál es la forma correcta de usar la función echo en PHP?
Was this page helpful?