php不加isset就报错,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

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

$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网别的相干文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值