echo

(PHP 4, PHP 5, PHP 7)

echo — Output one or more strings

Description

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

Outputs all parameters. No additional newline is appended.

echo is not actually a function (it is a
language construct), so you are not required to use parentheses
with it. echo (unlike some other language
constructs) does not behave like a function, so it cannot
always be used in the context of a function. Additionally, if you want to
pass more than one parameter to echo, the parameters
must not be enclosed within parentheses.

echo also has a shortcut syntax, where you can
immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0,
this short syntax only works with the
short_open_tag configuration
setting enabled.

I have <?=$foo?> foo.

The major differences to print are that
echo accepts an argument list and doesn't have a return value.

// Because echo does not behave like a function, the following code is invalid.($some_var) ? echo 'true' : echo 'false';

// However, the following examples will work:($some_var) ? print 'true' : print 'false'; // print is also a construct, but // it behaves like a function, so // it may be used in this context.

echo $some_var ? 'true': 'false'; // changing the statement around?>

Notes

Note: Because this is a
language construct and not a function, it cannot be called using
variable functions.

Tip

A benefit to passing in multiple arguments over using concatenation in
echo regards the precedence of the period operator in
PHP. If multiple arguments are passed in, then parentheses will not be
required to enforce precedence:

User Contributed Notes 1 note

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.