在php 8语言中match表达式的用法及使用场景示例
php  /  管理员 发布于 2年前   672
PHP8 新出的一个语法很好用,就是 match 语句。match 语句跟原来的 switch 类似,不过比 switch 更加的严格和方便.
下面看看match表达式语句的常见用法及场景,以及在使用过程中的注意事项。
match表达式基本用法
$color = 'red';
$result = match ($color) {
    'red' => 'Apple',
    'yellow' => 'Banana',
    'green' => 'Kiwi',
    default => 'Unknown fruit',
};
echo $result; // Output: "Apple"使用条件运算符
$number = 7;
$result = match (true) {
    $number > 0 => 'Positive',
    $number < 0 => 'Negative',
    default => 'Zero',
};
echo $result; // Output: "Positive"使用多个条件
$letter = 'a';
$result = match ($letter) {
    'a', 'e', 'i', 'o', 'u' => 'Vowel',
    default => 'Consonant',
};
echo $result; // Output: "Vowel"使用范围条件
$score = 85;
$result = match (true) {
    $score >= 90 => 'A',
    $score >= 80 => 'B',
    $score >= 70 => 'C',
    $score >= 60 => 'D',
    default => 'F',
};
echo $result; // Output: "B"多个匹配条件执行相同逻辑
$fruit = 'apple';
match ($fruit) {
    'apple', 'banana', 'orange' => {
        echo "This is a fruit.";
    },
    'carrot', 'broccoli' => {
        echo "This is a vegetable.";
    },
};
// Output: "This is a fruit."空合并运算符
$userName = null;
$result = match ($userName ?? '') {
    'admin' => 'Administrator',
    'guest' => 'Guest',
    default => 'Unknown user',
};
echo $result; // Output: "Unknown user"嵌套使用
$value = 10;
$result = match (true) {
    $value > 0 => match (true) {
        $value < 5 => 'Less than 5',
        $value > 5 => 'Greater than 5',
        default => 'Equal to 5',
    },
    default => 'Non-positive',
};
echo $result; // Output: "Greater than 5"使用条件组合
$day = 'Saturday';
$weather = 'sunny';
$result = match (true) {
    ($day === 'Saturday' || $day === 'Sunday') && $weather === 'sunny' => 'Outdoor activities',
    ($day === 'Saturday' || $day === 'Sunday') && $weather === 'rainy' => 'Indoor activities',
    default => 'Workday',
};
echo $result; // Output: "Outdoor activities"122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
			Copyright·© 2019 侯体宗版权所有·
			粤ICP备20027696号
			
			
