isset($var)、empty($var)、($var)之间的区别

本文详细介绍了PHP中变量判断的方法,包括isset、empty及直接判断等,并对比了它们之间的区别,帮助开发者更好地理解和使用这些判断方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php内置了很多对变量进行判断的方式,有几种常用的方式的判断结果容易混淆

isset

isset是当且仅当变量为NULL才会返回false,否则返回true,与is_null()完全相反
有三种情况下变量为NULL
    1. 赋值为NULL
    2. 未被赋值
    3. unset()

isset和is_null还是有区别的:isset是语句,is_null是函数,有关语句和函数的区别会另外介绍

empty

empty对以下几个特殊值的判断结果:
    1. 数值型(int,float)0 返回true,非0返回false
    2. String '' 返回true(注意'0'同样返回true)
    3. 布尔类型false 返回true
    4. 空数组[]返回true, [[]]返回false
    5. NULL返回true

直接判断

所谓直接判断就是类似于这样if($var)
这种判断方式在判断时会将变量$var强制转换为布尔型,所以只要参照强制转换的结果就行了
    1. ''   => false
    2. '0'  => false  
    3. 0    => false
    4. null => false
    5. []   => false 

需要注意的是:直接判断时,若变量未定义,会报一个notice的错误
    php记录notice也是需要消耗性能的,所以不推荐这样的用法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值