在PHP中isset()和empty()之间很容易混淆,它们都是用于测试变量的值,都返回一个布尔值。在使用 php 编写页面程序时,经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。本文章向大家详细介绍PHP isset()和empty()区别。
PHP isset()函数
isset()函数是用于确定变量是否已设置且不为空。
语法:
bool isset ( mixed var [, mixed var [, ...]] )
返回值:
- 若变量不存在则返回 FALSE
- 若变量存在且其值为NULL,也返回 FALSE
- 若变量存在且值不为NULL,则返回 TURE
- 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
例子:
$x = '白煮蛋的博客';
var_dump(isset($x));
上面结果会返回true.
PHP empty()函数
empty() 函数用于检查一个变量是否为空。
empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
语法:
bool empty ( mixed $var )
当 var 存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE。
- 变量不存在,返回true
- 变量存在,值为空,返回true
- 变量存在,值不为空,返回false
以下的变量会被认为是空的:
- "" (空字符串)
- 0 (作为整数的0)
- 0.0 (作为浮点数的0)
- "0" (作为字符串的0)
NULL
FALSE
- array() (一个空数组)
- $var; (一个声明了,但是没有值的变量)
例子:
<?php
$temp_val = 0;
if (empty($temp_val)) {
echo $temp_val . ' is considered empty';
}
echo "nn";
$new_val = 1;
if (!empty($new_val)) {
echo $new_val . ' is considered set';
}
?>
输出:
0 is considered empty 1 is considered set
PHP empty()与isset()区别
empty方法:
- 变量不存在,返回true
- 变量存在,值为空,返回true
- 变量存在,值不为空,返回false
isset方法:
- 变量存在,返回true
- 变量不存在,返回false
一张表搞清楚php empty()和isset()的区别:
“” | “apple” | NULL | FALSE | 0 | undefined | |
empty() | TRUE | FALSE | TRUE | TRUE | TRUE | TRUE |
isset() | TRUE | TRUE | FALSE | TRUE | TRUE | FALSE |
以下代码有助于你深入了解php empty()和isset()的区别:
<?php
print "<br/>ISSET: <br/>";
$var = "";
print "isset():". isset($var)."<br/>";
$var = "apple";
print "isset('apple'):". isset($var)."<br/>";
$var = NULL;
print "isset('NULL'):". isset($var)."<br/>";
$var = FALSE;
print "isset('FALSE'):". isset($var)."<br/>";
$var = 0;
print "isset('0'):". isset($var)."<br/>";
print "isset(undefined):". isset($var3)."<br/>";
print "<br/>EMPTY: <br/>";
$var = "";
print "empty():". empty($var)."<br/>";
$var = "apple";
print "empty('apple'):". empty($var)."<br/>";
$var = NULL;
print "empty('NULL'):". empty($var)."<br/>";
$var = FALSE;
print "empty('FALSE'):". empty($var)."<br/>";
$var = 0;
print "empty('0'):". empty($var)."<br/>";
print "empty(undefined):". empty($var1)."<br/>";
输出结果:
ISSET:
isset():1
isset('apple'):1
isset('NULL'):
isset('FALSE'):1
isset('0'):1
isset(undefined):
EMPTY:
empty():1
empty('apple'):
empty('NULL'):1
empty('FALSE'):1
empty('0'):1
empty(undefined):1
以上是本文的全部类容,感谢阅读,希望能帮到大家。更多教程请访问码农之家