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

 更新时间:2012年02月22日 19:30:43   作者:  
简单总结echo()和print()、require()和include()等易混淆函数的区别
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中explode函数和split函数的区别小结

    PHP中explode函数和split函数的区别小结

    相信大家都知道,explode和split在php中都是可以通过特定字符把字符串转换成数组的,那么explode和split既然是一样的为什么会有两个函数呢,那么explode和split的区别在哪里呢,下面跟着小编我们一起来看看。
    2016-08-08
  • PHP 实现 JSON 数据的编码和解码操作详解

    PHP 实现 JSON 数据的编码和解码操作详解

    这篇文章主要介绍了PHP 实现 JSON 数据的编码和解码操作,结合实例形式详细分析了PHP操作json格式数据编码、解码函数使用场景及相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • PHPExcel导出2003和2007的excel文档功能示例

    PHPExcel导出2003和2007的excel文档功能示例

    这篇文章主要介绍了PHPExcel导出2003和2007的excel文档功能,结合实例形式分析了PHPExcel属性设置及文档导出操作相关技巧,需要的朋友可以参考下
    2017-01-01
  • 基于GD2图形库的PHP生成图片缩略图类代码分享

    基于GD2图形库的PHP生成图片缩略图类代码分享

    这篇文章主要介绍了基于GD2图形库的PHP生成图片缩略图类代码分享,本文直接给出实现代码和使用方法,需要的朋友可以参考下
    2015-02-02
  • PHP实现加密的几种方式介绍

    PHP实现加密的几种方式介绍

    这篇文章主要介绍了PHP实现加密的几种方式,非常全面实用,都是项目中经常需要用到的,需要的朋友可以参考下
    2015-02-02
  • php json相关函数用法示例

    php json相关函数用法示例

    这篇文章主要介绍了php json相关函数用法,列举了json_encode、json_decode及json_last_error的功能,并实例分析了json_encode与json_decode函数的具体使用技巧,需要的朋友可以参考下
    2017-03-03
  • php实现的Timer页面运行时间监测类

    php实现的Timer页面运行时间监测类

    这篇文章主要介绍了php实现的Timer页面运行时间监测类,可实现按不同key检测不同的运行时间,需要的朋友可以参考下
    2014-09-09
  • php中mkdir()函数的权限问题分析

    php中mkdir()函数的权限问题分析

    这篇文章主要介绍了php中mkdir()函数的权限问题分析,需要的朋友可以参考下
    2016-09-09
  • PHP 采集程序原理分析篇

    PHP 采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的。
    2010-03-03
  • php使用fopen创建utf8编码文件的方法

    php使用fopen创建utf8编码文件的方法

    这篇文章主要介绍了php使用fopen创建utf8编码文件的方法,是涉及编码问题需要注意的一个技巧,需要的朋友可以参考下
    2014-10-10

最新评论