echo

(PHP 4, PHP 5)

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

Описание

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

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

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

Пример #1 Примеры использования 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() и echo() рассматриваются в этой статье: » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40

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

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

Коментарии

Passing multiple parameters to echo using commas (',')is not exactly identical to using the concatenation operator ('.'). There are two notable differences.

First, concatenation operators have much higher precedence. Referring to http://php.net/operators.precedence, there are many operators with lower precedence than concatenation, so it is a good idea to use the multi-argument form instead of passing concatenated strings.

<?php
echo "The sum is " 2// output: "2". Parentheses needed.
echo "The sum is "2// output: "The sum is 3". Fine.
?>

Second, a slightly confusing phenomenon is that unlike passing arguments to functions, the values are evaluated one by one.

<?php
function f($arg){
 
var_dump($arg);
  return 
$arg;
}
echo 
"Foo" f("bar") . "Foo";
echo 
"\n\n";
echo 
"Foo"f("bar"), "Foo";
?>

The output would be:
string(3) "bar"FoobarFoo

Foostring(3) "bar"
barFoo

It would become a confusing bug for a script that uses blocking functions like sleep() as parameters:

<?php
while(true){
  echo 
"Loop start!\n"sleep(1);
}
?>

vs

<?php
while(true){
  echo 
"Loop started!\n" sleep(1);
}
?>

With ',' the cursor stops at the beginning every newline, while with '.' the cursor stops after the 0 in the beginning every line (because sleep() returns 0).
2017-03-28 05:51:55
http://php5.kiev.ua/manual/ru/function.echo.html

    Поддержать сайт на родительском проекте КГБ