eco() e impressão() não são funções, mas construções de linguagem em PHP. Ambos são usados para produzir strings e existem diferenças muito pequenas entre eco e impressão em PHP.
| eco | impressão | |
|---|---|---|
| Parâmetros | O eco pode levar mais de um parâmetro quando usado sem parênteses. A sintaxe é a expressão de eco [, expressão [, expressão]…]. Observe que o eco ($ arg1, $ arg2) é inválido. | a impressão requer apenas um parâmetro. | 
| Valor de retorno | eco não retorna nenhum valor | print sempre retorna 1 (inteiro) | 
| Sintaxe | eco vazio (string $ arg1 [, string $…]) | int print (string $ arg) | 
| O que é isso? | Em PHP, eco não é uma função, mas uma construção de linguagem. | No PHP, imprimir não é realmente uma função, mas uma construção de linguagem. No entanto, ele se comporta como uma função, pois retorna um valor. | 
A velocidade de ambos eco e impressão instruções em PHP são aproximadamente as mesmas. O uso de um sobre o outro provavelmente não produzirá nenhuma melhoria de desempenho em seu aplicativo. Teoricamente, eco é mais eficiente porque não retorna nenhum valor.
Diferente da maioria das funções de string PHP, eco e impressão não são funções, mas construções de linguagem. Portanto, não é necessário usar parênteses ao usar eco ou impressão. 
Quando usado entre parênteses (como uma chamada de função), ambos impressão e eco pegue apenas 1 argumento. Por exemplo,
eco ("Não entre em pânico!"); print ("A resposta é 42.");  No entanto, quando usado sem parênteses, eco pode levar vários argumentos. Por exemplo,
echo "Don't", "", "panic", "!"; // Isso é válido. imprima "O", "resposta", "é", "42"; // Isso é inválido.