Entendendo os comandos echo e print do PHP
Aprenda a diferença entre echo e print no PHP, como exibir texto, variáveis e expressões, e quando usar cada um desses comandos.
Exibir texto é a primeira coisa que a maioria dos programas PHP faz, e o PHP oferece duas ferramentas para isso: echo e print. Elas parecem intercambiáveis e, para saída cotidiana, de fato são — mas não funcionam da mesma forma internamente. Ambas são construções de linguagem (não funções no sentido estrito), então você pode chamá-las com ou sem parênteses.
Este capítulo mostra como cada uma funciona, onde elas diferem e qual usar em cada situação. Se você é novo na exibição de valores, é útil primeiro ler sobre variáveis PHP e strings PHP, pois echo e print são a forma de exibi-los.
Comando echo do PHP
O comando echo exibe uma ou mais strings. Seu uso mais comum é imprimir um único trecho de texto:
Exemplo de echo em PHP
echo não retorna um valor. A string acima vai diretamente para o buffer de saída e é enviada ao navegador (ou ao terminal, para scripts de linha de comando).
Exibindo variáveis e expressões
Você pode imprimir variáveis diretamente, ou construir uma string mais longa com o operador de concatenação .:
echo com concatenação de string em PHP
Dentro de strings com aspas duplas, as variáveis são interpoladas automaticamente, então muitas vezes nem é necessário usar concatenação:
<?php
$num = 5;
echo "The value of num is: $num"; // The value of num is: 5
echo 'The value of num is: $num'; // The value of num is: $numAspas simples são tratadas literalmente — $num é impresso como está. Consulte strings PHP para as regras completas.
Passando múltiplos argumentos
Uma funcionalidade que print não possui: echo aceita vários argumentos separados por vírgulas e os imprime em ordem. Isso pode ser ligeiramente mais rápido do que concatenar, pois o PHP não precisa construir uma string grande primeiro:
<?php
echo "Red", " ", "Green", " ", "Blue", "\n";
// Output: Red Green BlueNota: a forma com vírgula só funciona quando você chama
echosem parênteses.echo("a", "b")é um erro de sintaxe.
A tag echo abreviada
Ao misturar PHP com HTML, <?= ... ?> é um atalho para <?php echo ... ?> — muito útil em templates:
<p>Welcome, <?= $name ?>!</p>Comando print do PHP
print também exibe texto, mas com uma diferença importante: ele sempre retorna o valor 1. Esse valor de retorno permite usar print dentro de expressões, onde echo causaria um erro de sintaxe:
Exemplo da função print em PHP
Por retornar 1, print é às vezes usado em expressões condicionais como $ok or print "failed";. Na prática, isso é raro — a maioria do código simplesmente o usa como echo.
Assim como echo, print lida com variáveis e expressões:
print com concatenação de string em PHP
O único detalhe a lembrar: print aceita exatamente um argumento. Você não pode escrever print "a", "b";.
Comparação entre echo e print
| Funcionalidade | echo | print |
|---|---|---|
| Retorna um valor | Não | Sempre retorna 1 |
| Utilizável em uma expressão | Não | Sim ($x = print "hi";) |
| Múltiplos argumentos | Sim (echo $a, $b;) | Não — apenas um argumento |
| Velocidade | Marginalmente mais rápido | Marginalmente mais lento |
Algumas conclusões práticas:
- A diferença de velocidade é insignificante para aplicações reais — é uma micro-otimização que você quase nunca notará. Escolha com base na legibilidade, não na performance.
- Use
echopara saída normal. É a escolha convencional e suporta múltiplos argumentos. - Use
printapenas quando realmente precisar do seu valor de retorno dentro de uma expressão.
Conclusão
echo e print são construções de linguagem para enviar texto para a saída. Use echo por padrão — é a escolha idiomática e pode receber múltiplos argumentos — e use print quando precisar especificamente de um valor de retorno. Para aprofundar, veja variáveis PHP, strings PHP e tipos de dados PHP.