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读取msn上的用户信息类
Dec 05 PHP
phpmail类发送邮件函数代码
Feb 20 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
9个经典的PHP代码片段分享
Dec 18 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
Mar 21 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
May 19 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
浅谈php的TS和NTS的区别
Mar 13 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项目开发中最常用的自定义函数整理
2010/12/02 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
js实现数组转换成json
2015/06/26 Javascript
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
转党组织关系介绍信
2014/01/08 职场文书
教师档案管理制度
2014/01/23 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
倡议书怎么写?
2019/04/11 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL