PHP中empty()函数的工作原理是什么?
关于PHP
empty()函数工作原理的解答 你的理解大体方向正确,但存在细节遗漏,以下是empty()函数更准确的工作逻辑:
- 若变量未定义/不存在,
empty()不会抛出警告,直接返回true(这部分你的判断是对的) - 若变量存在,只要变量的值属于PHP认定的「空值」范畴,
empty()就返回true,这些空值包括:- 布尔值
false - 整数
0、浮点数0.0 - 空字符串
""、字符串"0" - 空数组
array() - 特殊值
null - 无任何属性的对象(PHP 5及以上版本)
- 已声明但未赋值的类属性
- 布尔值
- 除上述情况外,
empty()均返回false
简单来说,empty()的核心就是判断变量是否为「无意义的空值」,它的判断逻辑等价于!isset($var) || !$var,但优势在于处理未定义变量时不会触发PHP警告。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

