一、使用php函数
gettype()
获取变量类型,速度比较慢,建议使用is_*系列。
empty()
FALSE。""、0、"0"、NULL、FALSE、array()、var $var 都返回True。isset()
TRUE,否则返回 FALSE。对变量unset以后,将不再是isset。
if($x)
is_*
is_null:检测变量是否为 NULL
is_array:检测变量是否是数组
is_bool:检测变量是否是布尔型
is_double,is_float,is_real:检测变量是否是浮点
is_int,is_integer,is_long:检测变量是否是整数
is_numeric:检测变量是否为数字或数字字符串
is_object:检测变量是否是一个对象
is_resource:检测变量是否为资源类型
is_scalar:检测变量是否是一个标量,标量变量是指那些包含了 integer、float、string 或 boolean的变量,而 array、object 和 resource 则不是标量。
is_string:检测变量是否是字符串
| 表达式 | boolean : if($x) | ||||
| $x = ""; | TRUE | FALSE | TRUE | FALSE | |
| $x = NULL | TRUE | TRUE | FALSE | FALSE | |
| var $x; | TRUE | TRUE | FALSE | FALSE | |
| $x 从未定义 | TRUE | TRUE | FALSE | FALSE | |
| $x = array(); | TRUE | FALSE | TRUE | FALSE | |
| $x = false; | TRUE | FALSE | TRUE | FALSE | |
| $x = true; | FALSE | FALSE | TRUE | TRUE | |
| $x = 1; | FALSE | FALSE | TRUE | TRUE | |
| $x = 42; | FALSE | FALSE | TRUE | TRUE | |
| $x = 0; | TRUE | FALSE | TRUE | FALSE | |
| $x = -1; | FALSE | FALSE | TRUE | TRUE | |
| $x = "1"; | FALSE | FALSE | TRUE | TRUE | |
| $x = "0"; | TRUE | FALSE | TRUE | FALSE | |
| $x = "-1"; | FALSE | FALSE | TRUE | TRUE | |
| $x = "php"; | FALSE | FALSE | TRUE | TRUE | |
| $x = "true"; | FALSE | FALSE | TRUE | TRUE | |
| $x = "false"; | FALSE | FALSE | TRUE | TRUE |
二、用 == 进行松散比较
|
| TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" |
| TRUE | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE |
| FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE |
| 1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | TRUE |
| -1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE |
| "1" | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE |
| "0" | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE |
| "-1" | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE |
| NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE |
| array() | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE |
| "php" | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE |
三、用 === 进行严格比较
|
| TRUE | FALSE | 1 | 0 | -1 | "1" | "0" | "-1" | NULL | array() | "php" |
| TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| 0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| -1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
| "1" | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE |
| "0" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE |
| "-1" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE |
| NULL | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE |
| array() | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE |
| "php" | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE |