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 相关文章推荐
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
PHP和XSS跨站攻击的防范
Apr 17 PHP
php下intval()和(int)转换使用与区别
Jul 18 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
PHP获取表单textarea数据中的换行问题
Sep 10 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
Drupal7连接多个数据库及常见问题解决
Mar 02 PHP
php调用google接口生成二维码示例
Apr 28 PHP
smarty中post用法实例
Nov 28 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
PHP-FPM的配置与优化讲解
Mar 15 PHP
Laravel向公共模板赋值方法总结
Jun 25 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
php adodb连接mssql解决乱码问题
2009/06/12 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
JavaScript ES6 Class类实现原理详解
2020/05/08 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
python发布模块的步骤分享
2014/02/21 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python脚本定时发送邮件
2020/12/22 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
技校个人求职信范文
2014/01/25 职场文书
《东方明珠》教学反思
2014/04/20 职场文书
建筑安全责任书范本
2014/07/24 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
违反交通安全法检讨书
2014/10/24 职场文书