empty()和isset()的区别

相信作为新手的我们,每次用到empty()和isset()时等都会有这样的疑惑:这二者有何区别?什么时候需要用empty()?什么时候用isset()?今天我给大家说说二者的区别,以及二者的应用场景。

1.区别汇总:

区别一:empty()是函数,它具有函数的所有属性,有返回值,可以使用函数返回值作为参数,可以使用动态变量访问等;

isset()是语句,它是php一种固有的逻辑结构,如foreach,for,continue等,无法使用动态变量访问,也无法使用函数返回值作为参数;例子如下:

$a = 'empty';
$a('err');//TRUE
empty(intval('1fa'));//FALSE;

区别二:当$a定义后,不论它的值是0,false,null,''等空值,empty()的返回值均为true;isset()的返回值也为TURE,isset只在验证未曾定义的变量时才会返回false;

例如:

$a = 0;//'0',false,null,'','0.0'等空值
empty($a);//true
empty('aaa');//false
empty($b);//true
isset($a);//true
isset($b);//false,$b未定义

2.应用场景:

a.当判断一个变量是否定义时,可用isset();

应用:表单提交时用isset($_POST['submit'])的值来判定是否提交表单。

b.当判断一个变量是否为空时(不需要知道其是否赋值),可用empty();

应用:表单验证时,需验证必填项值是否为空。

c.当判断一个变量已经存在且不为空,可先用isset(),再用empty();

应用:文件上传时,需判断$_FILES已赋值,且不为空。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值