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 URL地址获取函数代码(端口等) 推荐
May 15 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
PHP基于单例模式实现的mysql类
Jan 09 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
深入剖析PHP中printf()函数格式化使用
May 23 PHP
PHP学习笔记之php文件操作
Jun 03 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 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 strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
Javascript String.replace的妙用
2009/09/08 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
移动节点的jquery代码
2014/01/13 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
js仿360开机效果
2019/12/26 Javascript
使用Scrapy爬取动态数据
2018/10/21 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
Django异步任务线程池实现原理
2019/12/17 Python
python sorted函数原理解析及练习
2020/02/10 Python
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
SQL Server笔试题
2012/01/10 面试题
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
中专自我鉴定范文
2013/10/16 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
兴趣小组活动总结
2014/05/05 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
golang特有程序结构入门教程
2021/06/02 Python