以下的表格显示了 PHP 类型和比较运算符在松散和严格比较时的作用。该补充材料还和类型戏法的相关章节内容有关。同时,大量的用户注释和 » BlueShoes 的工作也给该材料提供了帮助。
  在使用这些表格之前,需要明白变量类型及它们的意义。例如,"42" 是一个字符串而
  42 是一个整数。FALSE 是一个布尔值而 "false"
  是一个字符串。
 
Note:
HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,可以使用 is_numeric() 函数。
Note:
在没有定义变量 $x 的时候,诸如 if ($x) 的用法会导致一个
E_NOTICE级别的错误。所以,可以考虑用 empty() 或者 isset() 函数来初始化变量。
| 表达式 | 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 = 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 |