首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

echo

(PHP 4, PHP 5, PHP 7)

echo - 输出一个或多个字符串

描述

代码语言:javascript
复制
void echo ( string $arg1 [, string $... ] )

输出所有参数。不追加额外的换行符。

echo实际上不是一个函数(它是一种语言结构),所以你不需要使用圆括号。回声(与其他一些语言结构不同)不像函数那样工作,所以它不能总是用在函数的上下文中。此外,如果您想要传递多个参数来回显,则参数不能包含在括号内。

echo也有一个快捷方式的语法,在那里你可以立即跟随等号开头的标签。在PHP 5.4.0之前,这个简短语法仅适用于启用了short_open_tag配置设置。

代码语言:javascript
复制
I?have?<?=$foo?>?foo.

echo 的主要区别在于echo接受参数列表并且没有返回值。

参数

arg1

要输出的参数。

...

返回值

没有值返回。

例子

示例#1 回显示

代码语言:javascript
复制
<?php
echo?"Hello?World";

echo?"This?spans
multiple?lines.?The?newlines?will?be
output?as?well";

echo?"This?spans\nmultiple?lines.?The?newlines?will?be\noutput?as?well.";

echo?"Escaping?characters?is?done?\"Like?this\".";

//?You?can?use?variables?inside?of?an?echo?statement
$foo?=?"foobar";
$bar?=?"barbaz";

echo?"foo?is?$foo";?//?foo?is?foobar

//?You?can?also?use?arrays
$baz?=?array("value"?=>?"foo");

echo?"this?is?{$baz['value']}?!";?//?this?is?foo?!

//?Using?single?quotes?will?print?the?variable?name,?not?the?value
echo?'foo?is?$foo';?//?foo?is?$foo

//?If?you?are?not?using?any?other?characters,?you?can?just?echo?variables
echo?$foo;??????????//?foobar
echo?$foo,$bar;?????//?foobarbarbaz

//?Strings?can?either?be?passed?individually?as?multiple?arguments?or
//?concatenated?together?and?passed?as?a?single?argument
echo?'This?',?'string?',?'was?',?'made?',?'with?multiple?parameters.',?chr(10);
echo?'This?'?.?'string?'?.?'was?'?.?'made?'?.?'with?concatenation.'?.?"\n";

echo?<<<END
This?uses?the?"here?document"?syntax?to?output
multiple?lines?with?$variable?interpolation.?Note
that?the?here?document?terminator?must?appear?on?a
line?with?just?a?semicolon.?no?extra?whitespace!
END;

//?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
?>

注意

注意:因为这是一种语言结构而不是函数,所以不能使用变量函数来调用它。

提示

通过在echo中使用连接传递多个参数的好处是关于PHP中句点运算符的优先级。如果传入多个参数,则不需要使用括号来强制执行优先级:

代码语言:javascript
复制
<?php
echo?"Sum:?",?1?+?2;
echo?"Hello?",?isset($name)???$name?:?"John?Doe",?"!";

通过连接,句点运算符比加法运算符和三元运算符具有更高的优先级,因此括号必须用于正确的行为:

代码语言:javascript
复制
<?php
echo?'Sum:?'?.?(1?+?2);
echo?'Hello?'?.?(isset($name)???$name?:?'John?Doe')?.?'!';

扩展内容

  • print - 输出一个字符串
  • printf() - 输出格式化的字符串
  • flush() - 刷新系统输出缓冲区
  • Heredoc语法

← crypt

explode →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com