PHP的isset()、is_null、empty()运用总结_后端开发

这几个变量推断函数在PHP开发顶用的实在挺多的,而且粗看上去都差不多,但实在照样有不少的区分的,假如搞不清楚,或许就会遗留一些潜伏的bug, 包含我自已也遇到过如许的坑,比方有一次我就遇到过用empty推断涌现的问题,前端是许可输入0的,然则我用empty推断的话就为真,我就直接给报错了,所以这里就不能用这个推断了。

引荐:《PHP教程》

我们先看下这几个函数细致的用处

isset — 检测变量是不是已设置而且非 NULL

empty — 搜检一个变量是不是为空,以下的东西都被认作空

“” (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

“0” (作为字符串的0)

NULL

FALSE

array() (一个空数组)

$var; (一个声清楚明了,然则没有值的变量)

is_null — 检测变量是不是为 NULL

一 isset

推断变量有没有先定义,数组的键值有没有存在等

<?php
$data=[""," ", 0, 0.0 ,"0", null, "null", true, false ,[]];
foreach ($data as $key => $val){
    echo $key . '=>' . var_dump(isset($val)) . "\r\n";
}
//以上输出只需 null返回false,别的都为真
$arr = ['name' =>'lc', 'age' => 22, 'address' =>null];
echo isset($arr['name']) . "\r\n";  //true
echo isset($arr['mobile'])."\r\n";  //false
echo isset($arr['address']) ."\r\n"; //false
//未定义的键和值为null,返回false

empty

$data=[""," ", 0, 0.0 ,"0", null, "null", true, false ,[]];
foreach ($data as $key => $val){
    echo $key . '=>' . var_dump(empty($val)) . "\r\n";
}
//以上输出 '" "',"null",true等为false,别的为true
is_null
$data=[""," ", 0, 0.0 ,"0", null, "null", true, false ,[]];
foreach ($data as $key => $val){
    echo $key . '=>' . var_dump(is_null($val)) . "\r\n";
}
//以上输出 null 为true,别的全为false

别的,PHP7有一个快速推断的体式格局就是 ??和 ?:语法,这个也要多注意下

$a ?? 0; //相当于isset($a);
$a ?: 0; //相当于!empty($a);

经由过程上面的示例,应当相识这几个的差别了,在开发的时刻我们只需多注意下,就可以挑选适宜的判判函数了。

结论

isset:非 null的都为true.

empty: “” , 0 ,0.0,”0″,null,false,array(),未定义var都为true.

is_null:值为null为true.

更多PHP相干学问,请接见ki4网!

以上就是PHP的isset()、is_null、empty()运用总结的细致内容,更多请关注ki4网别的相干文章!

Leave A Comment