En esta página
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
``` <?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
``` <?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