判断php变量是不是定义,是否为空

判断php变量是否定义,是否为空

isset() 【1】

Returns TRUE if var exists and has value other than NULLFALSE otherwise.

输入可以是多个变量,只有所有的变量为真的时候,返回真

empty()【2】

Returns FALSE if var has a non-empty and non-zero value.

The following things are considered to be empty:

  • "" (an empty string)
  • 0 (0 as an integer)
  • "0" (0 as a string)
  • NULL
  • FALSE
  • array() (an empty array)
  • var $var; (a variable declared, but without a value in a class)

输入只能是一个变量

is_null() 【3】

Returns TRUE if var is null , FALSE otherwise.

 

 

   A variable is considered to be null if:

  • it has been assigned the constant NULL.

  • it has not been set to any value yet.

  • it has been unset().    

 

 

使用 PHP 函数对变量 $x 进行比较 表达式 gettype() empty() is_null() isset() if($x) Boolean
$x = ""; string TRUE FALSE TRUE FALSE
$x = null; NULL TRUE TRUE FALSE FALSE
var $x; NULL TRUE TRUE FALSE FALSE
$x is undefined NULL TRUE TRUE FALSE FALSE
$x = array(); array TRUE FALSE TRUE FALSE
$x = false; boolean TRUE FALSE TRUE FALSE
$x = true; boolean FALSE FALSE TRUE TRUE
$x = 1; integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0; integer TRUE FALSE TRUE FALSE
$x = -1; integer FALSE FALSE TRUE TRUE
$x = "1"; string FALSE FALSE TRUE TRUE
$x = "0"; string TRUE FALSE TRUE FALSE
$x = "-1"; string FALSE FALSE TRUE TRUE
$x = "php"; string FALSE FALSE TRUE TRUE
$x = "true"; string FALSE FALSE TRUE TRUE
$x = "false"; string FALSE FALSE TRUE TRUE

 

(上表没有找到原始来源,谁知道请告诉我)

如果变量是一个object该如何呢?

 

表达式 gettype() empty() is_null() isset() if($x) Boolean
$x = new object()  object FALSE FALSE TRUE TRUE

 

参考:

【1】http://php.net/manual/en/function.isset.php

【2】http://www.php.net/manual/en/function.empty.php

【3】http://www.php.net/manual/en/function.is-null.php

 

 

http://blog.****.net/autofei/archive/2010/05/24/5619004.aspx