PHP 支持8种基本的数据类型。
四种标量类型:
boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串)两种复合类型:
array (数组) object (对象)最后是两种特殊类型:
resource (资源) NULL (NULL)为了确保代码的易读性,本手册还介绍了一些伪类型:
mixed number callback以及伪变量 $....
可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float 是相同的,由于一些历史的原因,这两个名称同时存在。
变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。
Note: 如果想查看某个表达式的值和类型,用 var_dump()。
如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。要查看某个类型,不要用 gettype(),而用 is_type 函数。以下是一些范例:
1 |
|
如果要将一个变量强制转换为某类型,可以对其使用强制转换或者 settype() 函数。
注意变量根据其当时的类型在特定场合下会表现出不同的值。更多信息见类型戏法。此外,你还可以参考 PHP 类型比较表看不同类型相互比较的例子。
#
1 |
|
$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 "" "TrueFalseTRUE本当偽真偽偽真偽偽偽真実偽真偽偽真偽真TRUEFALSETRUE1TRUEFALSETRUEFALSEFALSE偽TRUE TRUE "0"FALSETRUEFALSETRUE FALSE FALSETRUEFALSEFALSEFALSEFALSEFALSE"-1"TRUEFALSE 虚虚真虚虚 TRUEFALSEFALSEFALSEFALSENULLFALSETRUEFALSETRUE偽偽偽偽真実真実 FALSETRUEarray()FALSETRUEFALSEFALSEFALSEFALSEFALSE 偽真真偽偽"php"TRUEFALSEFALSETRUEFALSEFALSEFALSEFAL SEFALSETRUE
True | False | |||||||||||
E | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | 0 | |||||
真 | 偽 | 真 | 偽 | 偽 | 真 | 偽 | TRUE | FALSE | TRUE | TRUE | -1 | |
偽 | 偽 | 偽 | 真 | 偽 | 偽 | 真 | 偽 | 偽 | 偽 | 偽 | 「1」 | |
FALSE | TRUE | 偽 | 偽 | 真 | 偽 | 偽 | 偽 | 偽 | 偽 | 偽 | ||
偽 | 真 | 偽 | " " | 偽" | ||||||||
FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | 本当 |
TRUE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE |
FALSE | 偽 | 真 | 偽 | 偽 | 偽 | 偽 | 偽 | FALSE | FALSE | FALSE | FALSE | FALSE |
1 | FALSE | FALSE | TRUE | 偽 | 偽 | 偽 | 偽 | 偽 | 偽 | 偽 | FALSE | FALSE |
0 | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | 偽 | 偽 | 偽 | 偽 | 偽 | 偽 |
-1 | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | |||