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 相关文章推荐
PHP语法速查表
Dec 06 PHP
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
php在文件指定行中写入代码的方法
May 23 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
php判断是否为json格式的方法
Mar 04 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
php根据数据id自动生成编号的实现方法
Oct 16 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
php实现有序数组旋转后寻找最小值方法
Sep 27 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
python中mechanize库的简单使用示例
2014/01/10 Python
Python paramiko模块的使用示例
2018/04/11 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python speech模块的使用方法
2020/09/09 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
土木工程师岗位职责
2013/11/24 职场文书
职工运动会邀请函
2014/02/02 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
话题作文之诚信
2019/11/28 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android