PHP中 empty() 和 isset() 的区别介绍
发布:smiling 来源: PHP粉丝网 添加日期:2022-05-18 11:01:56 浏览: 评论:0
作为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 (emptyempty($a)) {
- echo "empty:变量为空" . "<br>";
- } else {
- echo "empty:变量不为空" . "<br>";
- }
- if (isset($a)) {
- echo "isset:变量已设置且不为空" . "<br>";
- } else {
- echo "isset:变量未设置或变量为空" . "<br>";
- }
##结果
empty:变量为空
isset:变量未设置或变量为空
2、对于 "" (空字符串) 的判断
- // 对于 "" (空字符串) 的判断
- $a = "";
- if (emptyempty($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 (emptyempty($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 (emptyempty($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 (emptyempty($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 (emptyempty($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 (emptyempty($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 (emptyempty($a)) {
- echo "empty:变量为空" . "<br>";
- } else {
- echo "empty:变量不为空" . "<br>";
- }
- if (isset($a)) {
- echo "isset:变量已设置且不为空" . "<br>";
- } else {
- echo "isset:变量未设置或变量为空" . "<br>";
- }
##结果
empty:变量为空
isset:变量已设置且不为空
Tags: empty isset
- 上一篇:聊聊PHP中require_once()函数为什么不好用
- 下一篇:最后一页
相关文章
- ·empty 和 is_null有什么区别?(2013-11-29)
- ·php empty()函数详细(2013-11-30)
- ·php Warning:strstr()[function.strstr]:Empty delimiter(2013-12-04)
- ·php使用empty()函数要注意事项(2014-01-05)
- ·PHP empty() isset() is_null() 区别与性能比较(2014-01-17)
- ·php中empty(), is_null(), isset()函数区别(2014-02-09)
- ·关于php函数isset和empty的一些误解(2014-06-11)
- ·再谈php中empty与isset区别详解(2014-09-13)
- ·php empty(), isset(), is_null()函数用法实例(2014-09-13)
- ·PHP isset()函数与empty()函数区别(2014-09-19)
- ·为什么要在PHP中同时检查isset()和!empty()函数(2019-12-16)
- ·PHP中isset()和empty()函数有什么区别?(2020-01-31)
- ·PHP empty函数报错解决办法(2020-10-19)
- ·PHP5.5和之前的版本empty函数的不同之处(2021-02-19)
- ·PHP中检查isset()和!empty()函数的必要性(2021-11-07)
- ·PHP中的empty、isset、isnull的区别与使用实例(2021-11-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)