echo()
A palavra-chave "echo" em PHP serve para exibir uma ou mais strings. Neste artigo, exploramos a sintaxe e o uso do "echo" em PHP.
A Instrução echo do PHP
echo é a forma mais comum de enviar saída de um script PHP para a página. É uma construção de linguagem, não uma função, portanto não tem valor de retorno e não é necessário usar parênteses para chamá-la. Você usará echo constantemente: para imprimir texto, exibir os valores de variáveis e escrever HTML.
Esta página cobre a sintaxe, o comportamento de aspas simples vs. duplas que confunde iniciantes, a tag curta <?= ?> e como echo difere de print.
Sintaxe
echo expression;
echo expression1, expression2, ...;Como echo é uma construção de linguagem, você a chama sem parênteses:
echo "Hello"; // correct
echo("Hello"); // also works for a SINGLE argument
echo("a", "b"); // PARSE ERROR — parentheses can't wrap multiple args
echo "a", "b"; // correct way to pass multiple argumentsPasse múltiplos valores separando-os com vírgulas — isso é ligeiramente mais rápido do que concatenar com . porque nenhuma string temporária é criada. Os valores são impressos consecutivamente sem nenhum separador adicionado.
Exemplos
Vamos ver alguns exemplos práticos de como a palavra-chave echo pode ser usada:
Exemplos de PHP echo
<?php
// Example 1: Comma-separated arguments (native syntax)
echo "Hello World!", PHP_EOL;
// Output: Hello World!
// Example 2: String concatenation
$myName = "John";
$myAge = 30;
echo "My name is " . $myName . " and I am " . $myAge . " years old.";
// Output: My name is John and I am 30 years old.
// Example 3: Variables without quotes (comma-separated)
$greeting = "Hello";
$name = "World";
echo $greeting, " ", $name, "!";
// Output: Hello World!Aspas Simples vs. Aspas Duplas
O estilo de aspas escolhido altera a forma como as variáveis são tratadas, por isso é importante entender isso desde cedo. Em strings com aspas duplas, o PHP interpreta variáveis e sequências de escape. Em strings com aspas simples, isso não acontece — o texto é impresso literalmente.
<?php
$name = "World";
echo "Hello $name\n"; // Hello World (variable is interpolated)
echo 'Hello $name\n'; // Hello $name\n (printed verbatim, no newline)Use aspas duplas quando quiser interpolação de variáveis; use aspas simples (ligeiramente mais rápidas) quando tiver texto simples e literal. Veja PHP Strings para as regras completas, incluindo a sintaxe com chaves como "{$user['name']}".
Exibindo HTML
Uma tarefa muito comum para echo é imprimir HTML. Você pode incorporar variáveis diretamente dentro da marcação:
<?php
$title = "Welcome";
echo "<h1>$title</h1>";
// Output: <h1>Welcome</h1>Para grandes blocos de HTML, geralmente é mais limpo sair do PHP completamente (?> ... <?php) do que usar echo em cada linha.
A Tag Echo Curta
A abreviação <?= ... ?> é exatamente equivalente a <?php echo ... ?>. Ela está habilitada por padrão em todas as versões suportadas do PHP e é ideal para templates:
<p>Hello, <?= $name ?>!</p>Esta é a forma recomendada de imprimir um único valor dentro de arquivos que são predominantemente HTML.
echo vs. print
echo e print parecem similares, mas existem diferenças:
echo | print | |
|---|---|---|
| Tipo | construção de linguagem | construção de linguagem |
| Valor de retorno | nenhum (void) | sempre 1 |
| Múltiplos argumentos | sim (echo $a, $b;) | não |
| Uso em uma expressão | não | sim (porque retorna um valor) |
Como print retorna 1, ele pode aparecer dentro de uma expressão: $ok = print "hi";. echo não pode. Na prática, echo é preferido para saída geral. Veja a comparação dedicada echo vs print e a referência de print para mais detalhes.
Erros Comuns
- Sem parênteses com múltiplos argumentos.
echo("a", "b");é um erro de análise; useecho "a", "b";. echonão retorna nada. Você não pode escrever$x = echo "hi";. Useprint(ousprintf()) se precisar de um valor.- Aspas simples não interpolam.
echo 'Total: $price';imprime o literal$price, não o valor da variável.