PHP易混淆函数的区别及用法汇总

2015-01-24信息快讯网

这篇文章主要介绍了PHP易混淆函数的区别及用法,实例汇总了如echo和print、include与require、!isset和empty等函数,是非常实用的技巧,需要的朋友可以参考下

本文实例分析了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使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
php中静态类与静态变量用法的区别分析
PHP中new static() 和 new self() 的区别介绍
php计划任务之ignore_user_abort函数实现方法
CI框架中site_url()和base_url()的区别
php中$_POST与php://input的区别实例分析
php实现utf-8转unicode函数分享
php使用fputcsv()函数csv文件读写数据的方法
PHP跨平台获取服务器IP地址自定义函数分享
php中mail函数发送邮件失败的解决方法
php进行支付宝开发中return_url和notify_url的区别分析
ThinkPHP中自定义错误页面和提示页面实例
thinkphp使用literal防止模板标签被解析的方法
ThinkPHP控制器里javascript代码不能执行的解决方法
thinkphp连贯操作实例分析
ThinkPHP处理Ajax返回的方法
php隐藏IP地址后两位显示为星号的方法
php中HTTP_REFERER函数用法实例
php中call_user_func函数使用注意事项
PHP中shuffle数组值随便排序函数用法
php常用数学函数汇总
PHP通过内置函数memory_get_usage()获取内存使用情况
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
PHP中魔术变量__METHOD__与__FUNCTION__的区别
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
浅谈php和.net的区别
php中strstr、strrchr、substr、stristr四个函数的区别总结
php中echo()和print()、require()和include()等易混淆函数的区别
©2014-2024 dbsqp.com