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 相关文章推荐
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
php实现多城市切换特效
Aug 09 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
Aug 21 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
PHP检查URL包含特定字符串实例方法
Feb 11 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 SQL防注入代码集合
2008/04/25 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
详解webpack进阶之插件篇
2017/07/06 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
跟老齐学Python之print详解
2014/09/28 Python
django 将model转换为字典的方法示例
2018/10/16 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
Python for循环与getitem的关系详解
2020/01/02 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
甜品店创业计划书
2014/09/21 职场文书
干部年终考核评语
2015/01/04 职场文书
地震慰问信
2015/02/14 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
公司年夜饭通知
2015/04/25 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python