php echo()和print()、require()和include()函数区别说明


Posted in PHP onMarch 27, 2010

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 时间计算问题小结
Jan 04 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP中其实也可以用方法链
Nov 10 PHP
php中长文章分页显示实现代码
Sep 29 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
php实现源代码加密的方法
Jul 11 PHP
CI(CodeIgniter)模型用法实例分析
Jan 20 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
PHP命令行与定时任务
Apr 01 PHP
PHP 一个比较完善的简单文件上传
Mar 25 #PHP
php+mysql 实现身份验证代码
Mar 24 #PHP
PHP 抓取网页图片并且另存为的实现代码
Mar 24 #PHP
Cakephp 执行主要流程
Mar 24 #PHP
php中的观察者模式
Mar 24 #PHP
PHP 获取远程文件内容的函数代码
Mar 24 #PHP
PHP中基本符号及使用方法
Mar 23 #PHP
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
PHP递归创建多级目录
2015/11/05 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
php生成微信红包数组的方法
2019/09/05 PHP
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
详解JS面向对象编程
2016/01/24 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
Python Property属性的2种用法
2015/06/21 Python
python监控进程脚本
2018/04/12 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
python多任务之协程的使用详解
2019/08/26 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
PHP面试题-$message和$$message的区别
2015/12/08 面试题
武汉瑞得软件笔试题
2015/10/27 面试题
自荐信格式的六要素
2013/09/21 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
《日月潭》教学反思
2016/02/20 职场文书