W3docs

Entendiendo las sentencias echo y print en PHP

En PHP, echo y print son las dos formas más comunes de mostrar texto. Aprende cómo funcionan, en qué se diferencian y cuándo usar cada una.

Mostrar texto es lo primero que hacen la mayoría de los programas PHP, y PHP te ofrece dos herramientas para ello: echo y print. Parecen intercambiables, y para la salida cotidiana lo son — pero no son lo mismo internamente. Ambas son construcciones del lenguaje (no funciones en sentido estricto), por lo que puedes llamarlas con o sin paréntesis.

Este capítulo muestra cómo funciona cada una, en qué se diferencian y cuál elegir. Si eres nuevo en la visualización de valores, es útil leer primero sobre las variables de PHP y las cadenas de PHP, ya que echo y print son la forma de mostrarlas.

Sentencia echo de PHP

La sentencia echo genera una o más cadenas. Su uso más común es imprimir un único fragmento de texto:

Ejemplo PHP de echo

php— editable, runs on the server

echo no devuelve ningún valor. La cadena anterior va directamente al búfer de salida y se envía al navegador (o a la terminal, para scripts de CLI).

Mostrar variables y expresiones

Puedes imprimir variables directamente, o construir una cadena más larga con el operador de concatenación .:

Cadena concatenada con echo en PHP

php— editable, runs on the server

Dentro de las cadenas con comillas dobles, las variables se interpolan automáticamente, por lo que a menudo ni siquiera necesitas concatenación:

<?php

$num = 5;
echo "The value of num is: $num";   // The value of num is: 5
echo 'The value of num is: $num';   // The value of num is: $num

Las comillas simples se toman literalmente — $num se imprime tal cual. Consulta las cadenas de PHP para conocer todas las reglas.

Pasar múltiples argumentos

Una característica que print no tiene: echo acepta varios argumentos separados por comas y los imprime en orden. Esto puede ser ligeramente más rápido que concatenar, porque PHP no construye primero una sola cadena grande:

<?php

echo "Red", " ", "Green", " ", "Blue", "\n";
// Output: Red Green Blue

Nota: la forma con coma solo funciona cuando llamas a echo sin paréntesis. echo("a", "b") es un error de sintaxis.

La etiqueta echo abreviada

Cuando mezclas PHP con HTML, <?= ... ?> es una abreviatura de <?php echo ... ?> — muy útil en plantillas:

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

Sentencia print de PHP

print también genera texto, pero con un matiz importante: siempre devuelve el valor 1. Ese valor de retorno te permite usar print dentro de expresiones, donde echo sería un error de sintaxis:

Ejemplo de la función print en PHP

php— editable, runs on the server

Debido a que devuelve 1, print se usa a veces en construcciones condicionales de una línea como $ok or print "failed";. En la práctica esto es poco frecuente — la mayoría del código simplemente lo usa como echo.

Al igual que echo, print maneja variables y expresiones:

Cadena concatenada con print en PHP

php— editable, runs on the server

Lo único que hay que recordar: print acepta exactamente un argumento. No puedes escribir print "a", "b";.

Comparación entre echo y print

Característicaechoprint
Devuelve un valorNoSiempre devuelve 1
Utilizable en una expresiónNoSí ($x = print "hi";)
Múltiples argumentosSí (echo $a, $b;)No — solo un argumento
VelocidadMarginalmente más rápidoMarginalmente más lento

Algunas conclusiones prácticas:

  • La diferencia de velocidad es insignificante para aplicaciones reales — es una microoptimización que casi nunca notarás. Elige según la legibilidad, no el rendimiento.
  • Usa echo para la salida normal. Es la elección convencional y admite múltiples argumentos.
  • Recurre a print solo cuando realmente necesites su valor de retorno dentro de una expresión.

Conclusión

echo y print son construcciones del lenguaje para enviar texto a la salida. Usa echo por defecto — es la opción idiomática y puede aceptar múltiples argumentos — y usa print cuando necesites específicamente un valor de retorno. Para profundizar más, consulta las variables de PHP, las cadenas de PHP y los tipos de datos de PHP.

Práctica

Práctica
¿Cuál es la diferencia entre echo y print en PHP?
¿Cuál es la diferencia entre echo y print en PHP?
Was this page helpful?