这篇文章主要介绍“PHP中isset()、empty()、is_null()的区别有哪些”,在日常操作中,相信很多人在PHP中isset()、empty()、is_null()的区别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中isset()、empty()、is_null()的区别有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
让我们从一些定义开始。
isset()
: 你可以用isset()
来确定一个变量是否被声明,并且与null
不同。
empty()
: 它用于确定变量是否存在,并且变量的值没有评估为false
。
is_null()
: 这个函数用来检查一个变量是否是null
。
isset()
vs empty()
正如我们从定义中看到的,如果我们之前定义了该变量并将其值设置为NULL
以外的值,那么isset()
将返回true
。这可以包括0
,一个空字符串或false
。另一方面,只要变量的值被设置为false
,empty()
就会返回true
,我们称这些值为 "假值"。错误值的例子包括:0
,空字符串""
和字符串"0"
,空数组NULL
,当然还有布尔值false
。
isset()
和empty()
之间的一个相似之处是,它们都是语言结构,因此不能使用变量函数来调用。
下面的代码片断应该可以解释这两者之间的区别。
<?php $fruit = ''; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // Output: Do you like ? if(!empty($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output ?>
请注意,empty()
可以使用isset()
函数来编写。
<?php function my_empty($x) { return !isset($x) || $x == false }
当然,通常只是使用内置的empty()
函数更容易。
isset()
vs is_null()
如果一个变量的值被明确地设置为NULL
,则is_null()
函数返回true
。否则,它只是返回false
。另一方面,只要定义了一个变量,并且其值不是NULL
,isset()
将返回true
。
下面是一个基本的例子来说明它们之间的区别。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
empty()
vs is_null()
如果一个变量的值被评估为false
,empty()
函数将返回true
。这可能意味着空字符串,NULL
,整数0
,或一个没有元素的数组。另一方面,只有当变量的值为NULL
,is_null()
才会返回true
。
下面是一个基本的例子来说明它们之间的区别。
<?php $fruit = NULL; if(isset($fruit)) { echo 'Do you like '.$fruit.'?'; } // No Output if(is_null($fruit)) { echo 'There is no fruit.'; } // Output: There is no fruit. ?>
有两个提示,你可以用来编写更简洁的代码,并在将来避免错误。
1.与empty()
和is_null()
不同,你可以一次传递多个值给isset()
,以同时检查其中是否有未定义或设置为NULL
。在这种情况下,isset()
,只有在传递的值都不是NULL
,才会返回true
。
2.2. 不要使用==
来检查一个值是否是NULL
。这将会给像空字符串这样的评估为false
的值带来错误的肯定。
到此,关于“PHP中isset()、empty()、is_null()的区别有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。