附录 L. PHP 类型及比较符表
以下的表格显示了 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表格网站php源码
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 中发生了改变,它将被认为是空值。
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。