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截取中文字符串的问题
Jul 12 PHP
再次研究下cache_lite
Feb 14 PHP
PHP4和PHP5性能测试和对比 测试代码与环境
Aug 17 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
php分页函数完整实例代码
Sep 22 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
apache和PHP如何整合在一起
Oct 12 PHP
thinkphp5实现无限级分类
Feb 18 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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 获取页面中指定内容的实现类
2014/01/23 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
jQuery 使用手册(三)
2009/09/23 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
js数组去重的方法总结
2019/01/18 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
分享Python字符串关键点
2015/12/13 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python 实现音频叠加的示例
2020/10/29 Python
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
Python如何定义一个函数
2015/09/01 面试题
平面设计的岗位职责
2013/11/08 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
学校运动会感想
2015/08/10 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
python实现简单反弹球游戏
2021/04/12 Python
Python基础详解之邮件处理
2021/04/28 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python