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 相关文章推荐
珊瑚虫IP库浅析
Feb 15 PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
php设计模式之简单工厂模式详解
Sep 04 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
详解PHP中的状态模式编程
Aug 11 PHP
php中序列化与反序列化详解
Feb 13 PHP
PHP简单实现记录网站访问量功能示例
Jun 06 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
PHP数组array类常见操作示例
May 15 PHP
详解thinkphp的Auth类认证
May 28 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入门学习笔记之一
2010/10/12 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JavaScript的继承的封装介绍
2013/10/15 Javascript
jquery中$.post()方法的简单实例
2014/02/04 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
JS运动特效之链式运动分析
2018/01/24 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
跟老齐学Python之Import 模块
2014/10/13 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
家长对老师的感言
2014/03/11 职场文书
红色旅游心得体会
2014/09/03 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
爱护公物主题班会
2015/08/17 职场文书
工程移交协议书
2016/03/24 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技