print()
Nuestro artículo trata sobre la función print() de PHP, que se utiliza para mostrar una cadena. Esta función es similar a la función echo() de PHP.
print es una construcción del lenguaje PHP que muestra una cadena. Es una de las formas más comunes de enviar texto al navegador o la terminal, junto con echo. Esta página cubre la sintaxis de print, el rasgo que lo diferencia de echo (su valor de retorno), el comportamiento de los paréntesis y los errores comunes que hay que evitar.
Una construcción del lenguaje — no una función — significa que print forma parte de la gramática del lenguaje en sí. En la práctica, por eso puedes escribir print "x" sin paréntesis, de la misma forma que con echo.
Sintaxis
int print(string $expression)print toma un único argumento, $expression, que se convierte en una cadena y se escribe en la salida. Siempre devuelve 1, por lo que puede usarse en expresiones más amplias donde echo no puede.
Dado que los paréntesis son opcionales, todos estos son válidos:
print "Hello, World!";
print("Hello, World!");
print "Sum is " . (2 + 3);Un ejemplo básico
La salida es:
Hello, World!print vs. echo
print y echo parecen casi idénticos, pero hay dos diferencias reales:
echo | print | |
|---|---|---|
| Valor de retorno | ninguno (no devuelve nada) | siempre 1 |
| Múltiples argumentos | sí — echo $a, $b; | no — solo un argumento |
| Velocidad | marginalmente más rápido | marginalmente más lento |
Las diferencias son mínimas, por lo que la mayoría de los proyectos eligen uno y mantienen la coherencia. Usa echo cuando quieras mostrar varios valores a la vez; recurre a print solo cuando necesites un valor de retorno dentro de una expresión. Para una comparación lado a lado, consulta echo y print en PHP.
<?php
// echo can take several arguments separated by commas
echo "a", "b", "c"; // abc
// print cannot — this is a syntax error:
// print "a", "b";
?>Usar el valor de retorno
Dado que print devuelve 1, puede aparecer donde se espera una expresión. Esto resulta útil ocasionalmente en una condicional o un operador ternario, donde echo no compilaría:
<?php
$loggedIn = true;
// Ternary: the print runs and evaluates to 1, but we only care about the side effect.
$loggedIn
? print("Welcome back!\n")
: print("Please sign in.\n");
?>Salida:
Welcome back!Este patrón es poco común en código real — un simple if/else con echo es más claro — pero explica por qué print devuelve un valor en absoluto.
Imprimir variables y HTML
print muestra cualquier cadena que construyas, incluido HTML. Interpolar variables dentro de una cadena entre comillas dobles es la forma idiomática de mezclar texto y datos:
<?php
$user = "Ada";
print "<p>Hello, $user!</p>\n";
print 'Single quotes do NOT interpolate: $user' . "\n";
?>Salida:
<p>Hello, Ada!</p>
Single quotes do NOT interpolate: $userNota la diferencia: las comillas dobles ("...") expanden $user, las comillas simples ('...') lo imprimen literalmente.
Errores comunes
printno es para arrays ni objetos. Pasar un array imprime la palabra literalArrayy genera un aviso. Para inspeccionar datos estructurados usaprint_r()ovar_dump().- La salida no escapa nada.
printescribe texto sin procesar. Al mostrar la entrada del usuario en HTML, envuélvela enhtmlspecialchars()para evitar XSS. - Para salida con formato, prefiere
printf. Si necesitas relleno, formato de números o marcadores de posición,printf()ysprintf()son las herramientas adecuadas.
Resumen
print muestra una única cadena, siempre devuelve 1 y acepta paréntesis opcionales. Es intercambiable con echo para la salida cotidiana; la única razón para preferirlo es cuando necesitas su valor de retorno dentro de una expresión. Para depurar arrays y objetos, cámbia a print_r() o var_dump(); para cadenas con formato, usa printf().