PHP 类型系统
像素鱼丸
2024-05-04
647

PHP 的类型系统支持各种基础类型,可以组合在一起创建更加复杂的类型。其中一些类型可以写成类型声明。

基本类型

一些基础类型是内置类型,跟语言紧密集成,不能用用户定义类型重现(reproduced)。

内置类型
null 类型
标量类型:bool 类型、int 类型、float 类型、string 类型
array 类型
object 类型
resource 类型
never 类型
void 类型
相对类类型:self、parent 和 static

字面量类型
false
true

用户定义的类型(通常称为类类型)
接口

枚举

callable 类型

复合类型

可以将简单类型组合为复合类型。PHP 允许使用以下方式组合类型:

类类型(接口和类名)的交集。
类型联合。

交集类型
交集类型接受满足多个类类型声明的值,而不是单个值。交集类型中的每个类型由 & 符号连接。因此,类型 T、U 和 V 组成的交集类型将写成 T&U&V。

联合类型
联合类型接受多个不同类型的值,而不是单个类型。联合类型中的每个类型由 | 符号连接。因此类型 T、U 和 V 的联合类型写成 T|U|V。如果其中一种类型是交集类型,需要使用括号括起来,在 DNF 中写成:T|(X&Y)。

类型别名
PHP 支持两种类型别名:mixed 和 iterable,分别对应 object|resource|array|string|float|int|bool|null 和 Traversable|array 的 联合类型。

注意: PHP 不支持用户定义类型别名。

收藏
打赏
PHP 变量
上一篇
PHP 预定义变量
下一篇

发表评论

注册不是必须的

像素鱼丸
156 文章
1 评论
4 喜欢
最新文章

退款和取消订单接口要不要合并

很多开发者在设计初期的常见思路。将“取消”和“退款”分开,从功能上看似乎很清晰,但在实际的复杂业务场景中,这种设计可能会带来一些问题。 更主流和推荐的设计是提供一个统一的“申请取消订单”接口,由后端服务根据订单的当前状态,自动路由到不同的处理逻辑。  为什么统一接口是更好的选择? 前端逻辑简化: 对于用户而言,他的诉求只有一个:“我不想要这个订单了”。无论订单是否支付,他在前端点击的都是“取消订单 […]

Mirage 主题 v3.7.0 发布

Mirage 主题 v3.7.0 发布 feat 增加拉黑用户功能 feat 移动端向下滑动时隐藏header,向上滑动时显示header 下载地址 https://gitee.com/vthemecn/mirage/releases/tag/v3.7.0 https://github.com/vthemecn/mirage/releases/tag/v3.7.0 新增功能截图

Mirage 主题 v3.6.0 发布

下载地址 Gitee下载地址:https://gitee.com/vthemecn/mirage/releases/tag/v3.6.0 Github下载地址:https://github.com/vthemecn/mirage/releases/tag/v3.6.0 更新内容 – feat 新增导航菜单悬浮顶部切换设置 – feat 增加隐藏登录按钮的设置 – feat 增加在前台显示登录按钮的 […]
生成中...
扫描二维码
扫描二维码