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边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
php 正则匹配函数体
Aug 25 PHP
PHP中PDO的错误处理
Sep 04 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
Dec 21 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
谈谈PHP语法(3)
2006/10/09 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
Python编程之多态用法实例详解
2015/05/19 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Python列表操作方法详解
2020/02/09 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
阿巴庭院:Abba Patio
2019/06/18 全球购物
职务说明书范文
2014/05/07 职场文书
庆六一活动总结
2014/08/29 职场文书
交通安全主题班会
2015/08/12 职场文书
超市店长竞聘书
2015/09/15 职场文书
月考总结与反思
2015/10/22 职场文书