W3docs

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 arguments

Passe 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:

echoprint
Tipoconstrução de linguagemconstrução de linguagem
Valor de retornonenhum (void)sempre 1
Múltiplos argumentossim (echo $a, $b;)não
Uso em uma expressãonãosim (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; use echo "a", "b";.
  • echo não retorna nada. Você não pode escrever $x = echo "hi";. Use print (ou sprintf()) se precisar de um valor.
  • Aspas simples não interpolam. echo 'Total: $price'; imprime o literal $price, não o valor da variável.

Prática

Prática
O que a instrução PHP 'echo' faz?
O que a instrução PHP 'echo' faz?
Was this page helpful?