W3docs

print

A palavra-chave "print" é usada em PHP para exibir uma string no navegador ou em outro fluxo de saída. Explore a sintaxe e o uso.

O Construto print do PHP

print envia uma string para qualquer fluxo de saída em que o PHP esteja gravando — geralmente o navegador ao executar uma página web, ou o terminal ao executar um script pela linha de comando. Apesar de parecer uma função, print é um construto de linguagem: está integrado à própria linguagem, aceita exatamente um argumento e sempre retorna o inteiro 1.

Esse único valor de retorno é o que diferencia print de echo e o torna utilizável dentro de expressões maiores. Este capítulo cobre a sintaxe, como print difere de echo, quando o valor de retorno é importante e as formas mais comuns de uso.

Sintaxe

print "Hello, world!";

Como print é um construto e não uma função, os parênteses são opcionais. As duas formas são válidas e se comportam de maneira idêntica:

print "Hello, world!";   // without parentheses
print("Hello, world!");  // with parentheses

Os parênteses simplesmente agrupam o argumento; eles não transformam print em uma chamada de função. Ele ainda aceita apenas um argumento — não é possível passar uma lista separada por vírgulas como echo permite.

Exibindo variáveis e expressões

print avalia seu argumento primeiro, portanto você pode passar uma variável, uma string concatenada ou qualquer expressão que resolva para um valor do tipo string. Variáveis dentro de strings com aspas duplas são interpoladas automaticamente:

<?php

$name = "John";

// Interpolation inside a double-quoted string
print "Hello, $name!" . PHP_EOL;   // Hello, John!

// Concatenation with the . operator
print "Sum: " . (1 + 2) . PHP_EOL; // Sum: 3

PHP_EOL é o caractere de nova linha da plataforma — útil em scripts de linha de comando para que cada instrução seja exibida em sua própria linha. (Consulte Operadores PHP para o operador de concatenação . e Variáveis PHP para as regras de interpolação.)

"Experimente Você Mesmo" não está disponível para este exemplo.

Usando o valor de retorno

Cada chamada a print retorna 1. Por si só isso parece inútil, mas permite que print apareça onde um valor é esperado — por exemplo, dentro de uma atribuição ou de uma expressão lógica:

<?php

// Assigning the result (always 1)
$result = print "Success" . PHP_EOL;
echo $result . PHP_EOL;            // 1

// Using print inside a ternary expression
$loggedIn = false;
$loggedIn ? print "Welcome back" : print "Please log in";

echo não pode ser usado dessa forma: $x = echo "hi"; é um erro de sintaxe, pois echo não retorna nada. Se você precisar de saída como parte de uma expressão, use print.

Os dois são praticamente intercambiáveis para saída simples. As diferenças são pequenas, mas vale conhecê-las:

Recursoprintecho
Valor de retornosempre 1nenhum (não pode ser usado em expressões)
Número de argumentosexatamente umum ou mais (separados por vírgula)
Velocidade relativaligeiramente mais lentoligeiramente mais rápido

Na prática, ambos são rápidos o suficiente para que a diferença de velocidade nunca importe. Escolha echo quando quiser imprimir vários valores de uma vez; escolha print quando precisar de um valor de retorno. Para uma comparação mais detalhada, consulte PHP echo vs print.

Exibindo HTML

Assim como echo, print simplesmente escreve qualquer string que receber, portanto a marcação HTML passa diretamente para a página:

<?php

$title = "Welcome";
print "<h1>$title</h1>";
print "<p>This paragraph was generated with <code>print</code>.</p>";

O navegador renderiza o resultado como HTML comum. Lembre-se de escapar qualquer dado fornecido pelo usuário (por exemplo com htmlspecialchars()) antes de exibi-lo, para evitar cross-site scripting.

Resumo

  • print é um construto de linguagem que exibe uma string e sempre retorna 1.
  • Os parênteses são opcionais — print "x" e print("x") são equivalentes.
  • Seu valor de retorno permite que seja usado dentro de expressões e atribuições, ao contrário de echo.
  • Use echo para múltiplos valores; use print quando precisar do valor de retorno.
  • A saída (incluindo HTML) é escrita literalmente, por isso escape dados não confiáveis primeiro.

Prática

Prática
Quais das afirmações a seguir são verdadeiras sobre a função print em PHP?
Quais das afirmações a seguir são verdadeiras sobre a função print em PHP?
Was this page helpful?