PHP的类型声明
一、单一类型
类型 | 说明 | 版本 | |
---|---|---|---|
类/接口 | 名称值必须为指定类和接口的实例化对象 instanceof | ||
self | 值必须是用于类型声明相同类的 instanceof 。 仅可在类中使用。 | ||
parent | 值必须是用于类型声明父级类的 instanceof , 仅可在类中使用。 | ||
array | 值必须为 array。 | ||
callable | 值必定是一个有效的 callable。 不能用于类属性的类型声明。 | ||
bool | 值必须为一个布尔值。 | ||
float | 值必须为一个浮点数字。 | ||
int | 值必须为一个整型数字。 | ||
string | 值必须为一个 string。 | ||
iterable | 值必须为 array 或 instanceof Traversable。 | PHP 7.1.0 | |
object | 值必须为object。 | PHP 7.2.0 | |
mixed | 值可以为任何类型。 | PHP 8.0.0 |
二、允许为空的(Nullable)类型
自 PHP 7.1.0 起,类型声明允许前置一个问号 (?) 用来声明这个值允许为指定类型,或者为 null。
三、复合类型
还可以组合简单类型为复合类型。 PHP 支持以下方式复合类型:
- 简单类型联合。PHP 8.0.0 起可用。
- class-type(接口、类名)类型交集。PHP 8.1.0 起可用。
四、仅仅返回类型
void 是一个返回类型,用于标识函数没有返回值。 它不能是联合类型的一部分。 PHP 7.1.0 起可用。
https://www.php.net/manual/zh/language.types.declarations.php