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 相关文章推荐
某大型网络公司应聘时的笔试题目附答案
Mar 27 PHP
解析php常用image图像函数集
Jun 24 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
Yii实现简单分页的方法
Apr 29 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
PHP调用Mailgun发送邮件的方法
May 04 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP通过文件路径获取文件名的实例代码
Oct 14 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
php中的buffer缓冲区用法分析
May 31 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-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
在vue项目中引用Iview的方法
2018/09/14 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python读取与处理netcdf数据方式
2020/02/14 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
自我鉴定200字
2013/10/28 职场文书
七年级数学教学反思
2014/01/22 职场文书
入党申请自荐书范文
2014/02/11 职场文书
英语系本科生求职信
2014/07/15 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
合伙购房协议样本
2014/10/06 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
教师个人考察材料
2014/12/16 职场文书
婚礼新人答谢词
2015/01/04 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书