⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

PHP 8 匹配表达式

学习 PHP 8 中更安全、更简洁的 match 表达式,替代传统的 switch 语句。 · 难度:入门 · +15XP

什么是匹配表达式?

PHP 8 引入了 match 表达式,它是一种更现代、更严格的条件分支结构,相比传统的 switch 语句,它使用严格比较(===),并且会返回值。match 表达式不会像 switch 那样出现“贯穿”(fall-through)问题,也不需要使用 break 来中断。

基本语法

<?php
$status = 200;
$result = match ($status) {
    200 => 'OK',
    404 => 'Not Found',
    500 => 'Internal Server Error',
    default => 'Unknown Status',
};
echo $result; // 输出: OK

注意:match 使用 => 箭头语法,每个分支必须是表达式(可以是一个值、计算或函数调用)。

对比 switch 和 match

特性switchmatch
比较方式宽松比较(==)严格比较(===)
返回值不返回有返回值
贯穿问题
多个条件case 穿透逗号分隔

多条件匹配

<?php
$day = 'Saturday';
$type = match ($day) {
    'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' => '工作日',
    'Saturday', 'Sunday' => '周末',
    default => '无效日期',
};
echo $type; // 输出: 周末

多个值用逗号分隔即可,match 会检查是否匹配其中任意一个。

练习提示

尝试修改 starter_code 中的 $grade 变量,为不同分数段(如 90-100 为 A,80-89 为 B,70-79 为 C,低于 70 为 D)编写 match 表达式。提示:match 可以结合条件判断,例如使用 true 作为主题。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 90 篇
0 完成
🔥 0