Php/docs/function.echo

来自菜鸟教程
跳转至:导航、​搜索

echo

(PHP 4, PHP 5, PHP 7)

echo输出一个或多个字符串


说明

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

输出所有参数。不会换行。

echo 不是一个函数(它是一个语言结构), 因此你不一定要使用小括号来指明参数,单引号,双引号都可以。 echo (不像其他语言构造)不表现得像一个函数, 所以不能总是使用一个函数的上下文。 另外,如果你想给echo 传递多个参数, 那么就不能使用小括号。

echo 也有一个快捷用法,你可以在打开标记前直接用一个等号。在 PHP 5.4.0 之前,必须在php.ini 里面启用 short_open_tag 才有效。

I have <?=$foo?> foo.

print 最主要的不同之处是, echo 接受参数列表,并且没有返回值。


参数

arg1
要输出的参数
...


返回值

没有返回值。


范例

Example #1 echo 例子

<?phpecho "Hello World";// Strings can either be passed individually as multiple arguments or// concatenated together and passed as a single argumentecho 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";// 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?>

注释

Note:

因为是一个语言构造器而不是一个函数,不能被

可变函数 调用。

Tip 相对 echo 中拼接字符串而言,传递多个参数比较好,考虑到了 PHP 中连接运算符(“.”)的优先级。 传入多个参数,不需要圆括号保证优先级:

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

如果拼接字符串,连接运算符(“.”)相对于加号优先级相同,比三元运算符优先级更高。为了正确,必须使用圆括号:

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

参见