W3docs

print()

Artigo sobre a função print() do PHP, usada para exibir uma string, com sintaxe, diferenças em relação ao echo e exemplos práticos.

print é um construto de linguagem do PHP que exibe uma string. É uma das formas mais comuns de enviar texto ao navegador ou terminal, ao lado do echo. Esta página cobre a sintaxe do print, a característica que o diferencia do echo (seu valor de retorno), o comportamento dos parênteses e os problemas a serem observados.

Um construto de linguagem — e não uma função — significa que print faz parte da própria gramática da linguagem. Na prática, é por isso que você pode escrever print "x" sem parênteses, da mesma forma que com echo.

Sintaxe

int print(string $expression)

print aceita um único argumento, $expression, que é convertido para string e escrito na saída. Ele sempre retorna 1, portanto pode ser usado em expressões maiores onde echo não pode.

Como os parênteses são opcionais, todos estes exemplos são válidos:

print "Hello, World!";
print("Hello, World!");
print "Sum is " . (2 + 3);

Um exemplo básico

php— editable, runs on the server

A saída é:

Hello, World!

print e echo parecem quase idênticos, mas há duas diferenças reais:

echoprint
Valor de retornonenhum (não retorna nada)sempre 1
Múltiplos argumentossim — echo $a, $b;não — apenas um argumento
Velocidadeligeiramente mais rápidoligeiramente mais lento

As diferenças são pequenas, portanto a maioria dos projetos escolhe um e mantém a consistência. Use echo quando quiser exibir vários valores de uma vez; recorra ao print apenas quando precisar de um valor de retorno dentro de uma expressão. Para uma comparação lado a lado, consulte echo e print em 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";
?>

Usando o valor de retorno

Como print retorna 1, ele pode aparecer onde uma expressão é esperada. Isso é ocasionalmente útil em uma condicional ou ternário, onde echo não compilaria:

<?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");
?>

Saída:

Welcome back!

Esse padrão é raro em código real — um if/else simples com echo é mais claro — mas explica por que print retorna um valor.

Exibindo variáveis e HTML

print exibe qualquer string que você construir, incluindo HTML. Interpolar variáveis dentro de uma string com aspas duplas é a forma idiomática de misturar texto e dados:

<?php
$user = "Ada";
print "<p>Hello, $user!</p>\n";
print 'Single quotes do NOT interpolate: $user' . "\n";
?>

Saída:

<p>Hello, Ada!</p>
Single quotes do NOT interpolate: $user

Observe a diferença: aspas duplas ("...") expandem $user, aspas simples ('...') exibem literalmente.

Problemas comuns

  • print não é para arrays ou objetos. Passar um array exibe a palavra literal Array e gera um aviso. Para inspecionar dados estruturados, use print_r() ou var_dump().
  • A saída não escapa nada. print escreve texto bruto. Ao exibir entrada do usuário em HTML, envolva-a em htmlspecialchars() para evitar XSS.
  • Para saída formatada, prefira printf. Se precisar de preenchimento, formatação de números ou marcadores, printf() e sprintf() são as ferramentas certas.

Resumo

print exibe uma única string, sempre retorna 1 e aceita parênteses opcionais. É intercambiável com echo para saídas do dia a dia; o único motivo para preferi-lo é quando você precisa do seu valor de retorno dentro de uma expressão. Para depurar arrays e objetos, use print_r() ou var_dump(); para strings formatadas, use printf().

Prática

Prática
Quais são as formas de imprimir uma string em PHP de acordo com o artigo no w3docs?
Quais são as formas de imprimir uma string em PHP de acordo com o artigo no w3docs?
Was this page helpful?