php下isset()和empty()两者的区别

两者定义

isset()检验变量是否设置并且非null

empty()则是检验变量是否为空

先看示例:

$a = '';
$b = 0;
$c = false;
$d = true;
$e = null;
var_dump(isset($a),isset($b),isset($c),isset($d),isset($e));
echo "--------------------------------------------------";
var_dump(empty($a),empty($b),empty($c),empty($d),empty($e));

页面效果:

结果分析:

两者在面对空字符串,数字零,FALSE时,检验结果都是一致的。

在面对TRUE时,isset返回TRUE,empty返回FALSE。

在面对null值时,isset返回FALSE,empty返回TRUE。

运用场景:

isset多运用于数据表字段检验,检验字段默认值是否为空

empty多运用于检验字符串是否为空,或者返回值是TRUE还是FALSE