PHP中empty()和isset()的区别介绍
2022-11-15 canyinms.com 【 字体:大 中 小 】
二者共同点
二者区别
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:变量为空" . "2、对于 "" (空字符串) 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量未设置或变量为空
// 对于 "" (空字符串) 的判断 $a = ""; if (empty($a)) { echo "empty:变量为空" . "3、对于 0 (作为整数的0) 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空
// 对于 0 (作为整数的0) 的判断 $a = 0; if (empty($a)) { echo "empty:变量为空" . "4、对于 0.0 (作为浮点数的0) 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空
// 对于 0.0 (作为浮点数的0) 的判断 $a = 0.0; if (empty($a)) { echo "empty:变量为空" . "5、对于 "0" (作为字符串的0) 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空
// 对于 "0" (作为字符串的0) 的判断 $a = "0"; if (empty($a)) { echo "empty:变量为空" . "6、对于 NULL 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空
// 对于 NULL 的判断 $a = null; if (empty($a)) { echo "empty:变量为空" . "7、对于 FALSE 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量未设置或变量为空
// 对于 FALSE 的判断 $a = false; if (empty($a)) { echo "empty:变量为空" . "8、对于 array() (一个空数组) 的判断
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空
// 对于 array() (一个空数组) 的判断 $a = array(); if (empty($a)) { echo "empty:变量为空" . "
"; } else { echo "empty:变量不为空" . "
"; } if (isset($a)) { echo "isset:变量已设置且不为空" . "
"; } else { echo "isset:变量未设置或变量为空" . "
"; } ##结果 empty:变量为空 isset:变量已设置且不为空
猜你喜欢
2023年高考需注意这些事项 注意事项有哪些?
2023年高考时间是几月几日 全国高考什么时候?
高考倒计时1天 几号开始高考?
晋江8个考点实行交通管制 此举有何意义?
高考生哪六样东西千万别发朋友圈?
黑龙江高考2023时间安排表 黑龙江高考是全国几卷?
《教育资源免费送!开学季大放送》
小学教育,如何激发孩子学习兴趣?
了解最新职业培训趋势,掌握未来就业机会!
教如何填报高考志愿
橘子洲旅游攻略 长沙橘子洲怎么玩
西安周边旅游攻略 西安周边最值得去的地方
毛坦厂中学万人雨中送考 毛坦厂送考头车车牌91666祝福考生
珠峰被救女子不愿支付全部救援费用 珠峰攀登者为救遇险女子放弃登顶
登珠峰获救女子只愿承担4成救援费是怎么回事 登珠峰获救女子只愿承担4成救援费具体情况
国内出现偏肺病毒感染 尚无治疗药物
男子连吃100天麦当劳减重53斤是真的吗 男子连吃100天麦当劳为什么能减重53斤
本周狗屎运最旺的星座 本周狗屎运最旺的四大星座
印度耗资百亿卢比的大桥又塌了是什么情况 印度耗资百亿卢比的大桥又塌了是为什么
一个村考出300多大学生6个北大 湖南一小村考上一本奖4000二本3000