视频1 视频21 视频41 视频61 文章1 文章21 文章41 文章61 文章81 文章101 标签大全1 标签大全51 标签大全101 标签大全151 标签大全201 标签大全251 标签大全301 标签大全351 标签大全401 标签大全451 信息系统项目管理师 开学第一课观后感 男人的网站 苏轼的词 洗衣机品牌排行榜
教育

PHP中empty()和isset()的区别介绍

作者:原创时间:2022-08-04

二者共同点

二者区别

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

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

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

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

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

6、对于 NULL 的判断

7、对于 FALSE 的判断

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

二者共同点

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

都返回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:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {      echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量未设置或变量为空

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

// 对于 "" (空字符串) 的判断
$a = "";
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空

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

// 对于 0 (作为整数的0) 的判断
$a = 0;
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空

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

// 对于 0.0 (作为浮点数的0) 的判断
$a = 0.0;
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空

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

// 对于 "0" (作为字符串的0) 的判断
$a = "0";
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空

6、对于 NULL 的判断

// 对于 NULL 的判断
$a = null;
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量未设置或变量为空

7、对于 FALSE 的判断

// 对于 FALSE 的判断
$a = false;
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空

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

// 对于 array() (一个空数组) 的判断
$a = array();
if (empty($a)) {
    echo "empty:变量为空" . "
"; } else {     echo "empty:变量不为空" . "
"; } if (isset($a)) {     echo "isset:变量已设置且不为空" . "
"; } else {     echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空

                             

显示全文
频繁给手机充电有坏处吗 酷派手机没有声音怎么办啊 酷派手机为什么来电没声音是怎么回事 手机扬声器进水声音变小了该怎么办 草莓酱的简单制作方法 卧薪尝胆中的主人公是谁 诸葛亮是怎么死的 四大文明古国指的是什么 阿尔卑斯山脉在哪里 月亮从哪边升起 如何保存螃蟹 避暑山庄在哪里 什么是蜂蜡 布达拉宫是在哪里的 圆周率是谁发明出来的 元宵与汤圆的区别 柏拉图式的爱情什么意思 什么是毛肚 稻城是哪里的 舍利是什么 手机一边玩一边充电对电池有影响吗 充电宝可以一边充电一边充手机吗 手机晚上充电充到早晨好么 手机充电是充满好还是不充满好 k歌被对方拉黑会怎么样 苹果移动数据为啥叫蜂窝网络 微信被拉黑后怎么联系上她 怎么去除耳机回音 怎样选择固态硬盘和机械硬盘 为什么软件打不开 电视机恢复出厂设置会怎么样 数字电视怎么样连接wifi 手机没电了还会响闹钟吗 边充电一边玩手机会爆炸吗 苹果手机闹钟只震动不响要怎么办 手机相片如何备份 手机里的录音怎样备份 手机设置呼叫转移能收到短信吗 手机音量键为什么变成耳机模式 苹果无缘无故耳机模式怎么弄呀