Types/comparisons-Phpdoc专题
PHP 类型比较表
以下的表格显示了 PHP 类型 和 比较运算符 在松散和严格比较时的作用。该补充材料还和 类型戏法 的相关章节内容有关。同时,大量的用户注释和 » BlueShoes 的工作也给该材料提供了帮助。
在使用这些表格之前,需要明白变量类型及它们的意义。例如,"42"
是一个字符串而 42 是一个<span
class="type">整数。false
是一个<span
class="type">布尔值而 "false" 是一个<span
class="type">字符串。
Note:
HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,可以使用 is_numeric 函数。
Note:
在没有定义变量
$x
的时候,诸如 if ($x) 的用法会导致一个E_NOTICE
级别的错误。所以,可以考虑用 <span class="function">empty 或者 isset 函数来初始化变量。
Note:
Some numeric operations can result in a value represented by the constant
NAN
. Any loose or strict comparisons of this value against any other value, including itself, but excepttrue
, will have a result offalse
. (i.e. NAN != NAN and NAN !== NAN) Examples of operations that produceNAN
include sqrt(-1), asin(2), and acosh(0).
表达式 | 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 is undefined |
NULL | true |
true |
false |
false |
$x = array(); | array | true |
false |
true |
false |
$x = array('a', 'b'); | array | false |
false |
true |
true |
$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 |
false |
true |
false |
true |
false |
false |
true |
false |
true |
true |
false |
true |
1 | true |
false |
true |
false |
false |
true |
false |
false |
false |
false |
false |
false |
0 | false |
true |
false |
true |
false |
false |
true |
false |
true |
false |
true |
true |
-1 | true |
false |
false |
false |
true |
false |
false |
true |
false |
false |
false |
false |
"1" | true |
false |
true |
false |
false |
true |
false |
false |
false |
false |
false |
false |
"0" | false |
true |
false |
true |
false |
false |
true |
false |
false |
false |
false |
false |
"-1" | true |
false |
false |
false |
true |
false |
false |
true |
false |
false |
false |
false |
null |
false |
true |
false |
true |
false |
false |
false |
false |
true |
true |
false |
true |
array() | false |
true |
false |
false |
false |
false |
false |
false |
true |
true |
false |
false |
"php" | true |
false |
false |
true |
false |
false |
false |
false |
false |
false |
true |
false |
"" | false |
true |
false |
true |
false |
false |
false |
false |
true |
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 |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
1 | false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
0 | false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
false |
-1 | false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
false |
"1" | false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
false |
"0" | false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
false |
"-1" | false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
false |
null |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
false |
array() | false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
false |
"php" | false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
false |
"" | false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |