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 相关文章推荐
第二节 对象模型 [2]
Oct 09 PHP
php上传、管理照片示例
Oct 09 PHP
实用函数2
Nov 08 PHP
PHP 日期时间函数的高级应用技巧
Oct 10 PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
Jul 28 PHP
php处理单文件、多文件上传代码分享
Aug 24 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
PHP操作Postgresql封装类与应用完整实例
Apr 24 PHP
PHP7修改的函数
Mar 09 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中对xml读取的相关函数的介绍一
2008/06/05 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
Python3基础之函数用法
2014/08/13 Python
Python操作串口的方法
2015/06/17 Python
python编程羊车门问题代码示例
2017/10/25 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python实现京东抢秒杀功能
2021/01/25 Python
JBL英国官网:JBL UK
2018/07/04 全球购物
应届生高等护理求职信
2013/10/12 职场文书
护士实习自我鉴定
2013/10/22 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
工作经验交流材料
2014/12/30 职场文书
财务部会计岗位职责
2015/02/03 职场文书
重阳节简报
2015/07/20 职场文书
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android