(PHP 4, PHP 5, PHP 7)
echo — Выводит одну или более строк
Описание
void echo ( string $arg1 [, string $... ] )
Выводит все аргументы. Символ конца строки не добавляется.
На самом деле echo — это не функция, а конструкция языка, поэтому заключать аргументы в скобки необязательно. echo (в отличие от других языковых конструкций) не ведет себя как функция, поэтому не всегда может быть использована в контексте функции. Вдобавок, если вы хотите передать более одного аргумента в echo, эти аргументы нельзя заключать в скобки.
echo имеет также краткую форму, представляющую собой знак равенства, следующий непосредственно за открывающим тегом. До версии PHP 5.4.0, этот сокращенный синтаксис допускался только когда включена директива конфигурации short_open_tag.
I have <?=$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. <br />
//Заметьте, что закрывающий идентификатор должен располагаться в отдельной строке. никаких пробелов!<br />
//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: ", 1 + 2; echo "Hello ", isset($name) ? $name : "John Doe", "!"; В случае конкатенации, оператор "точка" будет иметь более высокий приоритет, чем сложение или тернарный оператор, поэтому необходимо использовать скобки: <?php echo 'Sum: ' . (1 + 2); echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';