PHP中echo和print的区别


Posted in PHP onAugust 28, 2014

一般来说,PHP中动态输出HTML内容,是通过print 和 echo 语句来实现的,在实际使用中, print 和 echo 两者的功能几乎是完全一样。可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是,两者之间也还是一个非常重要的区别:在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。
echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的。
 
他们的区别在于:

(1) echo可以输出多个字符串,像下面这样:

echo 'a','b','c';

如果你非要加上圆括号,注意写成echo ('a','b','c');是错误的,应该写成:

echo ('a'),('b'),('c');

它没有像函数的行为,所以不能用于函数的上下文
(2) print只能输出一个字符串,它可以表现得像一个函数,比如你可以如下使用:

$ret = print 'Hello World';

所有它能用在更复杂的表达式中。
另外,echo的效率相对比较快

看看如下代码:

<?php
$a='hello ';$b='php world!';echo $a,$b.'<br />';//echo 可以用逗号分隔字符串变量来显示
print $a.$b.'<br />';//而print不能使用逗号,只能用点号分隔,
//print $a,$b.'<br />';//这里使用逗号时报错。
?>

分析总结:

echo    命令和print命令相同,没有区别 
echo    函数和print函数有区别。 
echo()    无返回值,与echo命令相同 
print()    有返回值,成功,返1,false,返0.   
printf()    和sprintf()类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量 

形如:

echo  <<< EOT 
EOT; 
print  <<< EOT 
EOT;

的书写格式,其含义如下:

<<<    运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理 
EOT    自定义分界符,结束时必须位于行首

相信本文所述对大家更好的掌握PHP程序设计有一定的借鉴价值。

PHP 相关文章推荐
图象函数中的中文显示
Oct 09 PHP
php中设置多级目录session的问题
Aug 08 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
PHP中实现crontab代码分享
Mar 26 PHP
thinkPHP2.1自定义标签库的导入方法详解
Jul 20 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
关于php开启错误提示的总结
Sep 24 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
Aug 28 #PHP
PHP防盗链代码实例
Aug 27 #PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 #PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 #PHP
简单分析ucenter 会员同步登录通信原理
Aug 25 #PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 #PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 #PHP
You might like
一个更简单的无限级分类菜单代码
2007/01/16 PHP
php的access操作类
2008/04/09 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
python 导入数据及作图的实现
2019/12/03 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
编写类String 的构造函数、析构函数和赋值函数
2012/09/09 面试题
珍惜水资源建议书
2014/03/12 职场文书
大班开学家长寄语
2014/04/04 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
教师考核材料
2014/05/21 职场文书
公司门卫工作职责
2014/06/28 职场文书
写得不错的求职信范文
2014/07/11 职场文书
同意迁入证明模板
2014/10/26 职场文书
公司聚餐通知
2015/04/22 职场文书
小学校长开学致辞
2015/07/29 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书