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 和 COM
Oct 09 PHP
第十二节--类的自动加载
Nov 16 PHP
解析php中memcache的应用
Jun 18 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
PHP中number_format()函数的用法讲解
Apr 08 PHP
Yii框架模拟组件调用注入示例
Nov 11 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP文件上传原理简单分析
2011/05/29 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
JavaScript修改css样式style
2008/04/15 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
pandas数据集的端到端处理
2019/02/18 Python
python3实现mysql导出excel的方法
2019/07/31 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
学生会招新策划书
2014/02/14 职场文书
保健品市场营销方案
2014/03/31 职场文书
文明好少年事迹材料
2014/08/19 职场文书
三八节活动简报
2015/07/20 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
Django框架中模型的用法
2022/06/10 Python