PHP echo深入理解

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

echo和if、while等关键字类似,它们在PHP中实际上都属于语言构造器,简单地说,echo是一种特殊的语法结构。
众所周知,echo可以输出字符串拼接后的结果:

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

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

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

值得注意的是,echo想要如上输出多个表达式的拼接后的结果,那么就不能使用小括号(例如: echo ($a, $b);),否则会提示PHP语法错误。
此外,如果在PHP的配置文件php.ini中,short_open_tag参数选项命令的值为On,那么我们还可以使用echo的快捷用法:

<?php
$str = 'Hello, world!';
//下面两种输出方式,后者是前者的快捷用法
?>
<?php echo $str?>
<!-- php 5.4+默认支持 -->
<?=$str?>

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

猜你喜欢

转载自onestopweb.iteye.com/blog/2359076
今日推荐