判断php变量是否定义,是否为空
isset() 【1】
Returns?TRUE?if?var?exists and has value other than?NULL,?FALSE?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(). ? ?
?
?
$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 | 本文@来#源gaodai$ma#com搞$$代**码网搞代gaodaima码FALSE | FALSE | TRUE | TRUE |
$x = “true”; | string | FALSE | FALSE | TRUE | TRUE |
$x = “false”; | string | FALSE | FALSE | TRUE | TRUE |
?
(上表没有找到原始来源,谁知道请告诉我)
如果变量是一个object该如何呢?
?
$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.gaodaima.com/autofei/archive/2010/05/24/5619004.aspx