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 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 27 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
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
php字符串操作常见问题小结
2016/10/11 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
jQuery中addClass()方法用法实例
2015/01/05 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
Python import自定义模块方法
2015/02/12 Python
Python中的推导式使用详解
2015/06/03 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
python三引号输出方法
2019/02/27 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Python reques接口测试框架实现代码
2020/07/28 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
Weblogic和WebSphere不同特点
2012/05/09 面试题
法制宣传标语
2014/06/23 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
酒店端午节活动方案
2014/08/26 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
文员岗位职责
2015/02/04 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
公司保密管理制度
2015/08/04 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server