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 相关文章推荐
mysql limit查询优化分析
Nov 12 PHP
PHP 代码规范小结
Mar 08 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 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配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中Collection的使用小技巧
2014/08/18 Python
Python实现获取网站PR及百度权重
2015/01/21 Python
python提取内容关键词的方法
2015/03/16 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
python如何对实例属性进行类型检查
2018/03/20 Python
如何在python中写hive脚本
2019/11/08 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
宣传口号大全
2014/06/16 职场文书
市级三好学生评语
2014/12/29 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server
Python Django获取URL中的数据详解
2021/11/01 Python