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中,文件上传
Dec 06 PHP
php中目录,文件操作详谈
Mar 19 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
浅析php创建者模式
Nov 25 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 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
php socket方式提交的post详解
2008/07/19 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
python线程池的实现实例
2013/11/18 Python
Python中生成Epoch的方法
2017/04/26 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
虚拟机下载python是否需要联网
2020/07/27 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
如何转换一个字符串到enum值
2014/04/12 面试题
Ruby如何实现动态方法调用
2012/11/18 面试题
会计专业自荐信范文
2013/12/02 职场文书
测试工程师职业规划书
2014/02/06 职场文书
语文教学随笔感言
2014/02/18 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
教师个人培训总结
2015/02/11 职场文书
保研导师推荐信
2015/03/25 职场文书
小学入学感言
2015/08/01 职场文书
导游词之安徽九华山
2019/09/18 职场文书