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
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
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: $numLas 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 BlueNota: la forma con coma solo funciona cuando llamas a
echosin 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
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
Lo único que hay que recordar: print acepta exactamente un argumento. No puedes escribir print "a", "b";.
Comparación entre echo y print
| Característica | echo | print |
|---|---|---|
| Devuelve un valor | No | Siempre devuelve 1 |
| Utilizable en una expresión | No | Sí ($x = print "hi";) |
| Múltiples argumentos | Sí (echo $a, $b;) | No — solo un argumento |
| Velocidad | Marginalmente más rápido | Marginalmente 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
echopara la salida normal. Es la elección convencional y admite múltiples argumentos. - Recurre a
printsolo 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.