<?php
echo "echo não requer parênteses.";
// Strings podem ser passadas individualmente como múltiplos argumentos ou
// concatenadas e passadas como um único argumento
echo 'Esta ', 'string ', 'foi ', 'criada ', 'com múltiplos parâmetros.', "\n";
echo 'Esta ' . 'string ' . 'foi ' . 'criada ' . 'com concatenação.' . "\n";
// Nenhuma nova linha ou espaço são adicionados; o código abaixo mostra "olámundo" em apenas uma linha
echo "olá";
echo "mundo";
// O mesmo que o exemplo acima
echo "olá", "mundo";
echo "Esta string ocupa
múltiplas linhas. As novas linhas
também estarão na saída.";
echo "Esta string ocupa\nmúltiplas linhas. As novas linhas\ntambém estarão na saída.";
// O argumento pode ser qualquer expressão que produza uma string
$foo = "exemplo";
echo "foo é um $foo"; // foo é um exemplo
$fruits = ["limão", "laranja", "banana"];
echo implode(" e ", $fruits); // limão e laranja e banana
// Expressões não-string não convertidas à força para string, mesmo se declare(strict_types=1) for usada
echo 6 * 7; // 42
// Como echo não se comporta como uma expressão, o código a seguir é inválido.
($some_var) ? echo 'true' : echo 'false';
// Entretando os exemplos a seguir irão funcionar:
($some_var) ? print 'true' : print 'false'; // print também é uma contrução de linguagem, mas
// é uma expressão válida, retornando 1,
// portanto pode ser usada neste contexto.
echo $some_var ? 'true': 'false'; // primeiro avalia a expressão e depois passa para echo
?>