这几个变量判别函数正在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相干常识,请拜访PHP中文网!
以上就是PHP的isset()、is_null、empty()应用总结的具体内容,更多请存眷资源魔其它相干文章!
标签: php开发教程 php开发资料 php开发自学 empty isset is_null
抱歉,评论功能暂时关闭!