您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2013年09月01日 10:51 最近更新于 2019年06月01日 11:48

原创 PHP echo深入探究

1980 次浏览 读完需要≈ 5 分钟 PHP

内容目录

在PHP中,echo可以说是使用得最多的一个"函数"了。确切地说,echo并不是一个"函数",虽然它可以如下使用:

<?php
$str = 'Hello';
echo ($str);	//输出:Hello
?>

不过,echo后面所跟的括号,可不是调用函数时所需的括号,echo括号中的内容并不是函数的参数列表,而是相当于一个PHP表达式,echo的括号作用可以如下理解:

<?php
//下面两个括号的作用是类似的
$x = (3 + 5);
echo (3 + 5);	//输出:8
?>

因此,echo的括号是可有可无的:

<?php
//echo的括号是可有可无的
echo (3 + 5);	//输出:8
echo 3 + 5;	//输出:8
?>

echoifwhile等关键字类似,它们在PHP中实际上都属于语言构造器,简单地说,echo是一种特殊的语法结构。

众所周知,echo可以输出字符串拼接后的结果:

<?php
//echo输出字符串拼接后的结果
$a = 'Hello,';
$b = 'CodePlayer!';
echo $a . $b;	//输出:Hello,CodePlayer!
?>

实际上,对于输出多个表达式的拼接操作,echo还可以如下使用,而这才是echo输出多个表达式的拼接结果的“正宗”用法:

<?php
//echo输出多个表达式拼接的结果
//(注意多个表达式之间的分隔符号是英文逗号",")
$a = 'Hello,';
$b = 'CodePlayer!';
echo $a, $b;	//输出:Hello,CodePlayer!
echo 23 * 10, '>', 1 + 5;	//输出:230>6
?>

值得注意的是,echo想要如上输出多个表达式的拼接后的结果,那么就不能使用小括号(例如: echo ($a, $b);),否则会提示PHP语法错误。

此外,如果在PHP的配置文件php.ini中,short_open_tag参数选项命令的值为On,那么我们还可以使用echo的快捷用法:

<?php
$str = 'Hello, CodePlayer!';
//下面两种输出方式,后者是前者的快捷用法
?><?php echo $str?><?=$str?>

备注:
1.echoprint同为语言结构,不过echo的效率比print要稍微高一点点。
2.从PHP 5.4.0开始,即使short_open_tag参数的值不为On,仍然可以在PHP中直接使用echo的快捷用法<?=$x ?>

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论