PHP switch 替代品 match

match 是 PHP 8 中引入的新特性。在 PHP 8 中,match 用作新的类型安全的替代 switch 语句。它提供了更清晰、更简洁的语法,同时还支持表达式作为条件,可以更轻松地处理复杂的条件逻辑。

match 表达式中,每个分支都是一个条件和一个代码块,类似于 switch 语句的 case 分支。

匹配
php 复制代码
$statusCode = 500;
$message = match($statusCode) {
  200, 300 => null,
  400 => '未找到',
  500 => '服务器错误',
  default => '已知状态码',
};
echo $message; # => 服务器错误

查看: Match

匹配表达式
php 复制代码
$age = 23;
$result = match (true) {
    $age >= 65 => 'senior',
    $age >= 25 => 'adult',
    $age >= 18 => 'young adult',
    default => 'kid',
};
echo $result; # => young adult
相关推荐
我爱写代码i7 小时前
BeLink - 支持生成多种URL 缩短网址PHP源码
开发语言·php·短网址php源码
啊阿狸不会拉杆12 小时前
《计算机网络-自顶向下方法》5.7 网络管理、SNMP和NETCONF/YANG 读书笔记
开发语言·计算机网络·php
mjhcsp14 小时前
DeepSeek V4 Flash 0731 (Batch) 深度评测报告
log4j·php·batch
leoZ23116 小时前
第 8 篇:与 AI 协作的工作流 + 完整案例
前端·人工智能·神经网络·自然语言处理·性能优化·c#·php
qetfw16 小时前
Debian 部署 phpMyAdmin:Apache、PHP 与 MariaDB 管理界面配置
linux·debian·php·apache
AC赳赳老秦16 小时前
农产品公开数据应用:OpenClaw 抓取农产品价格、产销公开数据,实现农产品行情动态监测
java·c语言·javascript·python·php·deepseek·openclaw
三84416 小时前
redis三大机制:配置、持久化、主从复制(getshell 原理地基)
开发语言·php
G佳伟17 小时前
宝塔面板打不开且 Bt-Panel 未运行:从 HTTP 502 到 gevent 缺失的完整排查与修复
网络协议·http·php
名字还没想好☜18 小时前
Go 的 TCP 粘包与拆包:用长度前缀协议 + bufio 正确读消息
后端·tcp/ip·golang·go·php
kruptos1 天前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法