PHP的isset()、is_null、empty()使用总结-php教程

资源魔 34 0

这几个变量判别函数正在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

抱歉,评论功能暂时关闭!