Функция PHP echo

void echo ( string arg1 [, string argn...] )

Выводит все аргументы.

На самом деле echo - это не функция, а конструкция языка, поэтому заключать аргументы в скобки не обязательно, даже при использовании нескольких аргументов.

Примеры использования echo:

<?php
   echo "Привет мир!";
   echo "Это занимет
   несколько строк. Переводы строки тоже
   выводятся";
   echo "Это занимет\nнесколько строк. Переводы строки тоже\nвыводятся";
   echo "Экранирование символов делается \"Так\".";
   // с echo можно использовать переменные ...
   $foo = "foobar";
   $bar = "barbaz";
   echo "foo - это $foo"; // foo - это foobar
   // ... и массивы
   $bar = array("value" => "foo");
   echo "это {$bar['value']} !"; // это foo !
   // При использовании одиночных кавычек выводится
   // имя переменной,а не значение
   echo 'foo - это $foo'; // foo - это $foo
   // можно вывести просто значения переменных
   echo $foo;          // foobar
   echo $foo,$bar;     // foobarbarbaz

   // Некоторые предпочитают передачу нескольких аргументов
   // вместо конкатенации
   echo 'Эта ', 'строка ', 'была ', 'создана ', 'несколькими параметрами.', chr(10);
   echo 'Эта ' . 'строка ' . 'была ' . 'создана ' . 'с помощью конкатенации.' . "\n";
   echo <<<END

   Здесь используется синтаксис "here document" для вывода
   нескольких строк с подстановкой переменных $variable.
   Заметьте,что закрывающий идентификатор должен 
   располагаться в отдельной строке. никаких пробелов!
   END;

   // Следующая строка неверна, так как echo не является функцией
   ($some_var) ? echo 'true' : echo 'false';
   // Но это можно записать по другому
   ($some_var) ? print('true'): print('false'); // print является функцией
   echo $some_var ? 'true': 'false'; // echo вынесен за пределы выражения
?>

echo имеет также краткую форму, представляющую собой знак равенства, следующий непосредственно за открывающим тэгом. Этот сокращенный синтаксис допустим только когда директива конфигурации short_open_tag включена.

I have <?=$foo?> foo.

Замечание: Поскольку это языковая конструкция, а не функция, она не может вызываться при помощи переменных функций.

См. также описания функций print, printf, и flush.