isset,是否设置。empty,空的。两者都是测试变量用的。但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空。如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示。
如果一个变量被赋空值,$foo=”"或者$foo=0或者$foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。要注销一个变量,可以用 unset($foo)或者$foo=NULL。
共同点:
1、都可以判定一个变量是否为空;
2、都返回boolean类型,即true或false。
下面具体说一下他们用法之间的区别:
isset()
用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。如果已经使用
unset()
释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回
FALSE。(注意的是一个 NULL 字节(" ")并不等同于 PHP 的 NULL 常数)
empty()用来检查一个变量是否为空。
他们之间最大的区别就是对于0的判断,若用empty判断会认为是空,用isset则认为不为空。



.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)


.jpg)
.jpg)
.jpg)

.jpg)
.jpg)
.jpg)


.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)

.jpg)
.jpg)

.jpg)
.jpg)
.jpg)
艺考用户说说
友善是交流的起点