php中echo()和print()、require()和include()等易混淆函数的区别


Posted in PHP onFebruary 22, 2012

1.echo和print的区别

PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。

$r = print "Hello World";

这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。

2.include与require的区别

include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:

if($a){
include("a.php");
}

而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:

if($a){
require("a.php");
}

在错误处理方面,使用include语句,如果发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会继续执行!但requre却会给你来个致命错误。

当然,从字面意思上我们也可以理解七分:requre是很强硬的请求、要求的意思。

3.require_once()和include_once()语句

题外话了,因为长的像,简单require_once()和include_once()语句分别对应于require()和include()语句。require_once() 和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。

4.空字符串('')和NULL的区别

PHP中空字符串和NULL都是以值为0存储的,但是他们的类型并不一样,你可以试一下echo gettype('');和echo gettype(NULL);你会发现他们打印出来的分别是string和NULL,当然还有0也容易混淆,你可以试试echo gettype(0);打印一下类型,会发现0的类型是integer(整型),可见字符串('')、NULL和0是“等值”但不等类型。

5.isset和 empty的区别

从字面意思上我们就可以明白:empty是判断一个变量是否为“空”,而isset 则是判断一个变量是否已经设置。但是这里有一点绝对要注意起来:当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。比如当我们检测$id 变量的时候,当$id=0 ,用empty和isset来检测变量$id是否已经配置,两都将返回不同的值:empty 认为没有配置,isset 则能够取得 $id 的值,看下边例子:
$id=0;
emptyempty($id)?print "我是空的":print "我是$id ."; //结果:我是空的
!isset($id)?print "我是空的":print "我是$id .";//结果:我是0

6.==(等)和===(恒等)的区别

回顾上面第四条空字符串("")和NULL的区别,再来看一个例子:

'' == NULL;
'' === NULL;

运行之后你会发现第一个为true,而第二个则为false!可见==只是比较值是否相等,而===则不但比较值,还会比较类型,更为严格。

PHP 相关文章推荐
Php+SqlServer实现分页显示
Oct 09 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
php如何调用webservice应用介绍
Nov 24 PHP
Laravel实现用户注册和登录
Jan 23 PHP
Yii遍历行下每列数据的方法
Oct 17 PHP
PHP面相对象中的重载与重写
Feb 13 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
我的php学习笔记(毕业设计)
Feb 21 #PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 #PHP
修改PHP的memory_limit限制的方法分享
Feb 21 #PHP
php中取得文件的后缀名?
Feb 20 #PHP
ThinkPHP写第一个模块应用
Feb 20 #PHP
for循环连续求和、九九乘法表代码
Feb 20 #PHP
phpmail类发送邮件函数代码
Feb 20 #PHP
You might like
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
react build 后打包发布总结
2018/08/24 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python读写Excel文件方法介绍
2014/11/22 Python
python插入数据到列表的方法
2015/04/30 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
python中模块查找的原理与方法详解
2017/08/11 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
python实现小球弹跳效果
2019/05/10 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
机关门卫岗位职责
2013/12/30 职场文书
物业管理计划书
2014/01/10 职场文书
党员批评与自我批评
2014/02/12 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
档案工作汇报材料
2014/08/21 职场文书
求职简历自我评价范文
2015/03/10 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python