php empty()与isset()的区别是什么?

igyhi 2006-09-11 10:27:22
传入的参数有什么不同的要求,检测的判定方法有什么不同?比如两个函数对null和""的理解
...全文
3497 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
igyhi 2006-09-11
  • 打赏
  • 举报
回复
楼上的贴切,赞
iasky 2006-09-11
  • 打赏
  • 举报
回复
empty

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。


isset

如果 var 存在则返回 TRUE,否则返回 FALSE。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。



van_glm 2006-09-11
  • 打赏
  • 举报
回复
isset好比有钱包,但是没钱。
empty好比没钱包。
helloyou0 2006-09-11
  • 打赏
  • 举报
回复
手册说得挺详细
http://ca.php.net/manual/zh/function.empty.php

实际上就是
empty($x) 等于 !isset($x) || !$x
!empty($x) 等于 isset($x) && $x

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧