PHP 使用一个名义类型系统,具有强行为子类型关系。子类型关系在编译时进行检查,而类型验证则在运行时动态检查。
PHP 的类型系统支持各种原子类型,这些类型可以组合在一起创建更复杂的类型。其中一些类型可以写成 类型声明.
一些原子类型是内置类型,它们与语言紧密集成,无法用用户定义类型复制。
基本类型列表如下
可以将多个原子类型组合成复合类型。PHP 允许以以下方式组合类型
交集类型接受满足多个类类型声明的值,而不是一个。构成交集类型的各个类型由 &
符号连接。因此,由 T
,U
和 V
类型组成的交集类型将写成 T&U&V
。
并集类型接受多个不同类型的值,而不是一个。构成并集类型的各个类型由 |
符号连接。因此,由 T
,U
和 V
类型组成的并集类型将写成 T|U|V
。如果其中一个类型是交集类型,则需要用括号将其括起来才能写成 DNF: T|(X&Y)
。