PHP易混淆函数的区别及用法汇总


Posted in PHP onNovember 22, 2014

本文实例分析了PHP易混淆函数的区别及用法。分享给大家供大家参考。具体分析如下:

1.echo和print的区别
PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1。

PHP代码:

$r = print "Hello World";

这意味着print可用在一些复杂的表达式中,而echo则不行。但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句。

2.include与require的区别

include()与require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,如果变量$a为真,则将包含文件a.php:

PHP代码:

if($a){

include("a.php");

}

而require()则和include()不同,不管$a取何值,下面的代码将把文件a.php包含进文件里:

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 的值,看下边例子:

PHP代码:

$id=0;

empty($id)?print "我是空的":print "我是$id ."; //结果:我是空的

!isset($id)?print "我是空的":print "我是$id .";//结果:我是0

6.==(等)和===(恒等)的区别

回顾上面第四条空字符串("")和NULL的区别,再来看一个例子:

PHP代码:

" == NULL;

" === NULL;

运行之后你会发现第一个为true,而第二个则为false!可见==只是比较值是否相等,而===则不但比较值,还会比较类型,更为严格。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
转换中文日期的PHP程序
Oct 09 PHP
PHP完整的日历类(CLASS)
Nov 27 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
基于php缓存的详解
May 15 PHP
php获取301跳转URL简单实例
Dec 16 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
PHP多维数组排序array详解
Nov 21 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 PHP
如何利用PHP实现上传图片功能详解
Sep 24 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
thinkphp使用literal防止模板标签被解析的方法
Nov 22 #PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 #PHP
thinkphp连贯操作实例分析
Nov 22 #PHP
ThinkPHP处理Ajax返回的方法
Nov 22 #PHP
php隐藏IP地址后两位显示为星号的方法
Nov 21 #PHP
php中try catch捕获异常实例详解
Nov 21 #PHP
PHP生成不重复标识符的方法
Nov 21 #PHP
You might like
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
IE与FireFox中的childNodes区别
2011/10/20 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
vue axios请求超时的正确处理方法
2018/04/02 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
JS写滑稽笑脸运动效果
2020/05/28 Javascript
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
python调用支付宝支付接口流程
2019/08/15 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python raise的基本使用
2020/09/10 Python
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
Delphi软件工程师试题
2013/01/29 面试题
应届生个人求职信模板
2013/11/26 职场文书
面料业务员岗位职责
2013/12/26 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
教师节感想
2015/08/11 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书