您的位置:首页 > 编程语言 > PHP开发

php empty()与isset()

2016-02-22 15:03 465 查看
empty() : 检查一个变量是否为空。

  判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于
FALSE
,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

  empty() 本质上与 !isset($var) || $var == false 等价。

  empty() 只能用于变量,传递任何其它参数都将造成Paser error而终止运行。
  检测常量是否已设置可使用 defined() 函数。

返回值

var
存在,并且是一个非空非零的值时返回
FALSE
否则返回
TRUE
.

以下的东西被认为是空的:返回TRUE

"" (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

"0" (作为字符串的0)

NULL


FALSE


array() (一个空数组)

$var; (一个声明了,但是没有值的变量)

========================================================================

isset() — 检测变量是否设置 

  检测变量是否设置,并且不是
NULL


  如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成
NULL
的  变量,将返回
FALSE


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

=========================================================================

当一个变量值等于0时,empty()也会成立(True),因而会发生 一些意外。原来,empty() 和 isset() 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为 0,empty() 认为这个变量同等于空,即相当于没有设置。

比如检测 $id 变量,当 $id=0 时,用empty() 和 isset() 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty() 认为没有配置,isset() 能够取得 $id 的值。

当要 判断一个变量是否已经声明的时候 可以使用 isset 函数
当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数
当要 判断 一个变量 存在且不为空 先用isset 函数 再用 empty 函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: