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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
PHP调用三种数据库的方法(3)
Oct 09 PHP
如何使用脚本模仿登陆过程
Nov 22 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
zf框架的校验器InArray使用示例
Mar 13 PHP
19个Android常用工具类汇总
Dec 30 PHP
Smarty变量用法详解
May 11 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
php微信公众号开发之秒杀
Oct 20 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
Oct 16 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
input file获得文件根目录简单实现
2013/04/26 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
php编程每天必学之表单验证
2016/03/01 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python实现微信小程序支付功能
2019/07/25 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
pandas的相关系数与协方差实例
2019/12/27 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
tensorflow保持每次训练结果一致的简单实现
2020/02/17 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
python爬虫用mongodb的理由
2020/07/28 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
大学生毕业自荐信
2013/10/10 职场文书
公司年会晚宴演讲稿
2014/01/06 职场文书
关于安全演讲稿
2014/05/09 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2014年安全员工作总结
2014/11/13 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python