当前位置: 代码迷 >> PHP >> PHP 部类及比较符表
  详细解决方案

PHP 部类及比较符表

热度:74   发布时间:2016-04-28 22:01:17.0
PHP 类型及比较符表

<!--[if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->

以下的表格显示了?PHP?变量类型比较符在松散和严格比较时的作用。该补充材料还和类型戏法的相关章节内容有关。?

在使用这些表格之前,我们需要明白变量类型及它们的意义。例如,"42"?是一个字符串而?42?是一个整数。FALSE?是一个布尔值而?"false"?是一个字符串。?

:?HTML?表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,我们可以使用?is_numeric()?函数。?

:?在没有定义变量?$x?的时候,诸如?if?($x)?的用法会导致一个?E_NOTICE?级别的错误。所以,我们可以考虑用?empty()?或者?isset()?函数来初始化变量。?

表格?L-1.?用?PHP?函数对?$x?的比较

表达式

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

表格?L-2.?用?==?进行松散比较

?

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

表格?L-3.?用?===?进行严格比较

?

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

PHP?3.0?注意事项:?在?PHP?3?中,字符串?"0"?被认为是非空的,这个情况在?PHP?4?中发生了改变,它将被认为是空值。

  相关解决方案