W3docs

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

php— editable, runs on the server

La salida es:

Hello, World!

print y echo parecen casi idénticos, pero hay dos diferencias reales:

echoprint
Valor de retornoninguno (no devuelve nada)siempre 1
Múltiples argumentossí — echo $a, $b;no — solo un argumento
Velocidadmarginalmente más rápidomarginalmente 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: $user

Nota la diferencia: las comillas dobles ("...") expanden $user, las comillas simples ('...') lo imprimen literalmente.

Errores comunes

  • print no es para arrays ni objetos. Pasar un array imprime la palabra literal Array y genera un aviso. Para inspeccionar datos estructurados usa print_r() o var_dump().
  • La salida no escapa nada. print escribe texto sin procesar. Al mostrar la entrada del usuario en HTML, envuélvela en htmlspecialchars() para evitar XSS.
  • Para salida con formato, prefiere printf. Si necesitas relleno, formato de números o marcadores de posición, printf() y sprintf() 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().

Práctica

Práctica
¿Cuáles son las formas de imprimir una cadena en PHP según el artículo de w3docs?
¿Cuáles son las formas de imprimir una cadena en PHP según el artículo de w3docs?
Was this page helpful?