Documentación offline PHP master

print

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

print

Muestra un string

Descripción#

print(string $expression): int
```php

Muestra `expression`.

`print` no es una función sino una construcción del lenguaje. Su argumento es la expresión que sigue a la palabra clave `print`, y no está delimitado por paréntesis.

La diferencia principal con `echo` es que `print` solo acepta un argumento y siempre devuelve 1.

## Parámetros

`expression`  
La expresión a mostrar. Los valores que no son strings serán convertidos a string, incluso si la [directiva `strict_types`](#language.types.declarations.strict) está activada.

## Valores devueltos

Devuelve `1`, siempre.

## Ejemplos

Ejemplo con `print`

```php

Notas#

[!NOTE] Rodear el argumento de print con paréntesis no generará un error de sintaxis, y produce una sintaxis similar a una llamada normal de función. No obstante, esto puede ser engañoso, ya que los paréntesis forman en realidad parte de la expresión que se está mostrando, y no parte de la sintaxis de print en sí mismo.

``` <?php print "hello"; // muestra "hello"

print("hello"); // también muestra "hello", porque ("hello") es una expresión válida

print(1 + 2) * 3; // muestra "9"; los paréntesis hacen que 1+2 se evalúe primero, luego 3*3 // la sentencia print ve toda la expresión como un argumento

if ( print("hello") && false ) { print " - dentro de if"; } else { print " - dentro de else"; } // muestra " - dentro de if" // la expresión ("hello") && false se evalúa primero, dando false // esto se convierte al string vacío "" y se muestra // la construcción print luego devuelve 1, por lo que se ejecuta el código en el bloque if ?>

```

Cuando print se usa en una expresión más grande, colocar tanto la palabra clave como su argumento entre paréntesis puede ser necesario para obtener el resultado esperado:

``` <?php if ( (print "hello") && false ) { print " - dentro de if"; } else { print " - dentro de else"; } // muestra "hello - dentro de else" // a diferencia del ejemplo anterior, la expresión (print "hello") se evalúa primero // después de mostrar "hello", print devuelve 1 // como 1 && false es false, se ejecuta el código en el bloque else

print "hello " && print "world"; // muestra "world1"; print "world" se evalúa primero, // luego la expresión "hello " && 1 se pasa al print de la izquierda

(print "hello ") && (print "world"); // muestra "hello world"; los paréntesis fuerzan a que las expresiones print // se evalúen antes del && ?>

```

[!NOTE] Como esto es una estructura del lenguaje, y no una función, no es posible llamarla con las funciones variables o argumentos nombrados.

Véase también#

echo, printf, flush, Forma de especificar strings literales