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

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/tenghoo/archive/2012/06/12/php_type_compare.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值