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