PHP中isset()、empty()、is_null()有何具体差异?
- 内容介绍
- 相关推荐
本文共计1379个文字,预计阅读时间需要6分钟。
在PHP中,isset()、empty()和is_null()都可用于测试变量的值,那么它们之间有什么区别呢?下面本篇文章就来对比一下这三个函数,了解它们的区别。
让我们从一些定义开始。
isset():检查变量是否已设置并且不为NULL。empty():检查变量是否为空。is_null():检查变量是否为NULL。
下面是对这三个函数的详细对比:
1. isset(): - 检查变量是否存在,并且不为NULL。 - 如果变量未定义或定义为NULL,则返回false。 - 如果变量已定义且非NULL,则返回true。
2. empty(): - 检查变量是否为空。 - 如果变量为NULL、空字符串、空数组、0、'0'、'false'、'false'、'0.0'等,则返回true。 - 如果变量有值,则返回false。
3. is_null(): - 检查变量是否为NULL。 - 如果变量为NULL,则返回true。 - 如果变量非NULL,则返回false。
总结:- isset()用于检查变量是否存在且不为NULL。- empty()用于检查变量是否为空。- is_null()用于检查变量是否为NULL。
希望这些信息能帮助你更好地理解这三个函数的区别。
在PHP中,isset()、empty()和is_null()都可用于测试变量的值,那么它们之间有什么差异呢?下面本篇文章就来对比一下这三个函数,了解一下它们的区别。让我们从一些定义开始。
isset(): 你可以用isset()来确定一个变量是否被声明,并且与null不同。empty(): 它用于确定变量是否存在,并且变量的值没有评估为false。is_null(): 这个函数用来检查一个变量是否是null。
PHP 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() 函数更容易。
PHP 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. ?>
PHP 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 的值带来错误的肯定。
本文共计1379个文字,预计阅读时间需要6分钟。
在PHP中,isset()、empty()和is_null()都可用于测试变量的值,那么它们之间有什么区别呢?下面本篇文章就来对比一下这三个函数,了解它们的区别。
让我们从一些定义开始。
isset():检查变量是否已设置并且不为NULL。empty():检查变量是否为空。is_null():检查变量是否为NULL。
下面是对这三个函数的详细对比:
1. isset(): - 检查变量是否存在,并且不为NULL。 - 如果变量未定义或定义为NULL,则返回false。 - 如果变量已定义且非NULL,则返回true。
2. empty(): - 检查变量是否为空。 - 如果变量为NULL、空字符串、空数组、0、'0'、'false'、'false'、'0.0'等,则返回true。 - 如果变量有值,则返回false。
3. is_null(): - 检查变量是否为NULL。 - 如果变量为NULL,则返回true。 - 如果变量非NULL,则返回false。
总结:- isset()用于检查变量是否存在且不为NULL。- empty()用于检查变量是否为空。- is_null()用于检查变量是否为NULL。
希望这些信息能帮助你更好地理解这三个函数的区别。
在PHP中,isset()、empty()和is_null()都可用于测试变量的值,那么它们之间有什么差异呢?下面本篇文章就来对比一下这三个函数,了解一下它们的区别。让我们从一些定义开始。
isset(): 你可以用isset()来确定一个变量是否被声明,并且与null不同。empty(): 它用于确定变量是否存在,并且变量的值没有评估为false。is_null(): 这个函数用来检查一个变量是否是null。
PHP 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() 函数更容易。
PHP 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. ?>
PHP 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 的值带来错误的肯定。

