首页后端开发其他后端知识PHP里面empty()与isset()的区别是什么呢?

PHP里面empty()与isset()的区别是什么呢?

时间2024-03-25 12:58:03发布访客分类其他后端知识浏览459
导读:这篇文章主要为大家详细介绍了PHP里面empty( 与isset( 的区别是什么呢?的内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望对大家学习或工作能有帮助,接下来就跟随小编一起来学习吧。 二者共同点 都可...
这篇文章主要为大家详细介绍了PHP里面empty()与isset()的区别是什么呢?的内容,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望对大家学习或工作能有帮助,接下来就跟随小编一起来学习吧。

二者共同点

都可以判定一个变量是否为空;

都返回boolean类型,即true或false。

二者区别

empty() 函数用于检查一个变量是否为空。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。

对于 0、false、空字符串、空数组的判断上,empty() 可以识别为空,isset() 则不能识别。

1、对于未设置的变量的判断

// 对于未设置的变量的判断
if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
     echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量未设置或变量为空

2、对于 "" (空字符串) 的判断

// 对于 "" (空字符串) 的判断
$a = "";

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量已设置且不为空

3、对于 0 (作为整数的0) 的判断

// 对于 0 (作为整数的0) 的判断
$a = 0;

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量已设置且不为空

4、对于 0.0 (作为浮点数的0) 的判断

// 对于 0.0 (作为浮点数的0) 的判断
$a = 0.0;

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量已设置且不为空

5、对于 "0" (作为字符串的0) 的判断

// 对于 "0" (作为字符串的0) 的判断
$a = "0";

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量已设置且不为空

6、对于 NULL 的判断

// 对于 NULL 的判断
$a = null;

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量未设置或变量为空

7、对于 FALSE 的判断

// 对于 FALSE 的判断
$a = false;

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量已设置且不为空

8、对于 array() (一个空数组) 的判断

// 对于 array() (一个空数组) 的判断
$a = array();

if (empty($a)) {
    
    echo "empty:变量为空" . "br>
    ";

}
 else {
    
    echo "empty:变量不为空" . "br>
    ";

}

if (isset($a)) {
    
    echo "isset:变量已设置且不为空" . "br>
    ";

}
 else {
    
    echo "isset:变量未设置或变量为空" . "br>
    ";

}
    
##结果
empty:变量为空
isset:变量已设置且不为空


感谢各位的阅读,以上就是“PHP里面empty()与isset()的区别是什么呢?”的内容了,通过以上内容的阐述,相信大家对PHP里面empty()与isset()的区别是什么呢?已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

PHP

若转载请注明出处: PHP里面empty()与isset()的区别是什么呢?
本文地址: https://pptw.com/jishu/652794.html
PHP中input的属性有哪些,如何设置只读? node.js中的lts是什么,有何用处呢?

游客 回复需填写必要信息