`

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

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    深入理解PHP原理之--echo的实现.pdf

    深入理解PHP原理之--echo的实现.pdf

    深入理解PHP之OpCode原理详解

    此文主要基于《 Understanding OPcode》和 网络,根据个人的理解和修改,特记录下来 : PHP代码: &lt;?php echo "Hello World"; $a = 1 + 1; echo $a; ?&gt; PHP执行这段代码会经过如下4个步骤: 1. Scanning...

    深入理解PHP原理之错误抑制与内嵌HTML分析

    PHP文件内嵌HTML的处理方式 在PHP中, 所有在标签外的字符, 在词法分析过程中, 都会翻译成T_INLINE_HTML token, 在语法分析的时候, 所有的T_INLIE_HTML都会被分配ZEND_ECHO输出. 也就是说: 复制代码 代码如下: &lt;?...

    深入理解PHP变量的值类型和引用类型

    看到网友在讨论PHP的&符号,要彻底理解它的用法,就有必要讨论一下变量的两种形式。 PHP的变量在内存中是这样存储的,变量保存的并不直接是值的内容,而是地址。例如: $a = 1; 我们看起来,似乎变量$a直接存储了 1...

    深入了解PHP中的Array数组和foreach

    echo var_dump($a);  [注]:使用箭头描述数组$a各个单元对应某一内存地址的数据值(实际上,它内部结构采用HashTable结构,可以参考鸟哥写的PHP中的Hash算法)。 3.例子:在数组定义中,添加引用。 $x = 'x'; $a...

    深入理解PHP类的自动载入机制

    php的自动加载: 在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条include,麻烦 php作者想简单点,最好能引用一个类时,如果当前没有... echo 'fff';  }

    基于PHP输出缓存(output_buffering)的深入理解

    打开了php输出缓存: echo,print -&gt; php output_buffring -&gt; server buffering -&gt; browser buffering -&gt; browser display2.未打开php输出缓存: echo,print -&gt; server buffering -&gt; browser buffering -&gt; browser ...

    深入理解PHP中的global

    一、实现原理 在PHP的函数中,global语法是比较常见的,大家一定都知道一旦在函数中global了某个外部变量后,这个变量就可以在这个函数中使用了,但是也有不少网友...echo $globalStr; //输入: jb51.net 从这个例子看出g

    深入理解PHP原理之异常机制

    PHP的异常机制的原理是什么? 在PHP每一个可独立执行的op array最后的...php function onError($errCode, $errMesg, $errFile, $errLine) { echo “Error Occurred\n”; throw new Exception($errMesg); } function on

    php中ob函数缓冲机制深入理解

    在他们心目中,一个echo print_r 函数,数据便会‘嗖’的一声飞到浏览器上,显示出来。我也一直如此单纯地认为。 其实,在技术的世界里,向来都是由简单到复杂,也许那些技术开发者开始单纯如你我,但是面对残酷的...

    PHP基本语法实例总结

    本文实例讲述了PHP基本语法。分享给大家供大家参考,具体如下: Demo1.php &lt;?php //echo 表示向浏览器输出,echo 其实是一个函数 ... //深入理解 echo ,echo 是一个函数 //echo 功能:向浏览输出字符串

    深入了解php4(2)–重访过去

    所以呢,可以这样理解"while"循环–它执行一系列的命令,直到一个特定的条件满足。但是,现在我们想一想,如果条件的第一个重复就满足条件了,那将会出现什么情况呢?例如,在上面的重复中,如果你输入2001,该循环将...

    深入理解php的MySQL连接类

    等方法都用了一堆echo,好像一直不喜欢在类的方法里直接用输出语句,不过这也只是列举数据库和表名,构造函数的参数也可以给个默认值吧。复制代码 代码如下:&lt;?php/** filename:mysql数据库连接类*/class mysql{...

    PHP数组内存利用率低和弱类型详细解读

    这两天任务提前完成,可以喘口气沉淀一下,深入学习学习PHP。其实本来是想了解一下PHP性能优化相关的东西,但被网上的一句“PHP数组内存利用率低,C语言100MB的内存数组,PHP里需要1G”惊到了。PHP真的这么耗内存么...

    PHP 输出缓冲控制(Output Control)详解

     其实我对php ob 系列印象还是很模糊,具体怎么玩的,还不是很了解,平时curd,确实对这些内容没有深入。作为phper 甚是惭愧。网上搜了一通,互相copy,代码运行不能出现作者所描述现象,本文良心出品,代码都是...

    基于php后台的小程序宠物商城源码.zip

    通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源...

    基于php的个性化图书定制系统实现源码.zip

    通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源...

    22_PHP_基于KPI的医疗废弃物管理系统-源码.zip

    通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源...

Global site tag (gtag.js) - Google Analytics