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 相关文章推荐
我常用的几个类
Oct 09 PHP
PHP5新特性: 更加面向对象化的PHP
Nov 18 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
Laravel 5框架学习之表单验证
Apr 08 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP精确计算功能示例
Nov 29 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
PHP配置ZendOpcache插件加速
Feb 14 PHP
phpinfo的知识点总结
Oct 10 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 PHP
PHP加MySQL消息队列深入理解
Feb 27 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
MVC模式的PHP实现
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
中专生学习生活的自我评价分享
2013/10/27 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
工人先进事迹材料
2014/12/26 职场文书
中国合伙人观后感
2015/06/02 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
goland 清除所有的默认设置操作
2021/04/28 Golang
详解thinkphp的Auth类认证
2021/05/28 PHP
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python