Обработка строк
PHP Manual

echo

(PHP 4, PHP 5, PHP 7)

echoВыводит одну или более строк

Описание

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

Выводит все аргументы. Символ конца строки не добавляется.

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

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

У меня есть <?=$foo?> foo.

Единственное отличие от print в том, что echo принимает список аргументов и ничего не возвращает.

Список параметров

arg1

Параметр для вывода.

...

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

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

<?php
echo "Привет мир!";

echo 
"Это займет
несколько строк. Переводы строки тоже
выводятся"
;

echo 
"Это займет\nнесколько строк. Переводы строки тоже\nвыводятся";

echo 
"Экранирование символов делается \"Так\".";

// с echo можно использовать переменные ...
$foo "foobar";
$bar "barbaz";

echo 
"foo - это $foo"// foo - это foobar

// ... и массивы
$baz = array("value" => "foo");

echo 
"это {$baz['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 касается приоритета оператора "точка". Если передавать несколько аргументов, то скобки в выражениях не нужны:

<?php
echo "Sum: "2;
echo 
"Hello ", isset($name) ? $name "John Doe""!";

В случае конкатенации, оператор "точка" будет иметь более высокий приоритет, чем сложение или тернарный оператор, поэтому необходимо использовать скобки:

<?php
echo 'Sum: ' . (2);
echo 
'Hello ' . (isset($name) ? $name 'John Doe') . '!';

Смотрите также


Обработка строк
PHP Manual