empty
判断一个变量是否为空
$param = null;
empty($param); // true
$param = false;
empty($param); // true
$param = 0.0;
empty($param); // true
$param = 0;
empty($param); // true
$param = '0';
empty($param); // true
$param = [];
empty($param); // true
$param = '';
empty($param); // true
var $param ;
empty($param); // true
isset
判断一个变量是否设置
$param = null;
isset($param); // false
$param = 'null';
isset($param); // true
$param = 00;
isset($param); // true
$param = 0;
isset($param); // true
$param = '0';
isset($param); // true
$param = [];
isset($param); // true
$param = '';
isset($param); // true
$param = false;
isset($param); // true
$param = 'false';
isset($param); // true
if 判断式
$param = 0;
if($param); // false
$param = 00;
if($param); // false
$param = 0.0;
if($param); // false
$param = '0';
if($param); // false
$param = [];
if($param); // false
$param = false;
if($param); // false
$param = null;
if($param); // false
$param = '';
if($param); // false
// -----------------------------------------
$param = '00';
if($param); // true
$param = '0.0';
if($param); // true
$param = 'null';
if($param); // true
$param = 'false';
if($param); // true
- isset判断变量是否已存在(配置)
- unset把变量删除(释放)掉
- empty 判断变量是否为空
is_null
判断变量是否为NULL,我们可以把它看成是!isset,是isset的一个逆操作,
$param = null;
is_null($param); // true
$param = 'null';
is_null($param); // false
对比
变量 | empty | is_null | isset |
---|---|---|---|
$param = ‘’ | true | false | true |
$param = null | true | true | false |
$param = [] | true | false | true |
$param = 10 | false | false | true |
$param = 1 | false | false | true |
$param = 0 | true | false | true |
$param = ‘0’ | true | false | true |
$param = ‘true’ | false | false | true |
$param = false | true | false | true |
$param = ‘false’ | false | false | true |
var $param | true | true | false |
- 只要变量是否为” “或者0,或者是false和null,只要是这些值empty都会返回true,
- isset是判断变量是否存在,只要你这个变量不是null或未赋值,返回结果都是true,
- 而is_null正好是isset的反结果。
示例
echo !isset($_GET['a']); //如果得不到变量a的值
echo empty($_GET['a']); //如果变量a的值是空