PHP中isset()和empty()函数有哪些区别

这篇文章主要介绍了PHP中isset()和empty()函数有哪些区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

1、isset() 的定义

检测变量是否已设置并且非 NULL

<?php

$var = '';

// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {
    echo "This var is set so I will print.";
}

// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
// the return value of isset().

$a = "test";
$b = "anothertest";

var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

结果

This var is set so I will print.bool(true)
bool(true)
bool(false)
bool(false)
bool(false)

2、empty() 的定义

==检查一个变量是否为空==

以下的东西被认为是空的:

"" (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

"0" (作为字符串的0)

NULL

FALSE

array() (一个空数组)

$var; (一个声明了,但是没有值的变量)

3、isset() 和 empty()的比较

$var = 0;
if (empty($var)) {
    echo 1;
}//1
if (isset($var)) {
    echo 2;
}//1

4、 0、‘’、null之间相等关系

if('' == null && '' == 0 && null ==  0 && 0 =='0') 
echo true;
//返回结果  1;

if('' == '0' || null == '0' ) 
echo true;
//返回结果 untitled;

结论:==' ' ,null , 0 ,'0'互相相等;'',null不等于'0'==

感谢你能够认真阅读完这篇文章,希望小编分享PHP中isset()和empty()函数有哪些区别内容对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!