php中的类型比较

一、使用php函数

gettype()

获取变量类型,速度比较慢,建议使用is_*系列。

empty()

如果 var 是非空或非零的值,则 empty() 返回 FALSE
""0"0"NULLFALSEarray()var $var 都返回True。

isset()

检测变量是否设置,如果 var 存在则返回 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:检测变量是否是字符串

表达式

gettype()

empty()

is_null()

isset()

boolean : if($x)

$x = "";

string

TRUE

FALSE

TRUE

FALSE

$x = NULL

NULL

TRUE

TRUE

FALSE

FALSE

var $x;

NULL

TRUE

TRUE

FALSE

FALSE

$x 从未定义

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

 二、用 == 进行松散比较

 

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

 

 

 

 

 

 

 

 

 

 

 

posted @ 2012-06-12 14:45  青羽  阅读(546)  评论(0编辑  收藏  举报