我想知道是否有比我在 PHP 文档中找到的更丰富的“定义默认”匹配方式。以下来自https://www.php.net/manual/en/language.enumerations.methods.php
enum Suit implements Colorful
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
// Fulfills the interface contract.
public function color(): string
{
return match($this) {
Suit::Hearts, Suit::Diamonds => 'Red',
Suit::Clubs, Suit::Spades => 'Black',
};
}
}
上面不是证明我为什么要问我在问什么的最好例子,还想不出更好的例子,但是为了这个问题,想象一下有 10 套西装,9 套黑色和1个红色。看起来我必须在“黑色”的颜色匹配函数中重复 9 个案例......我希望(并在此处询问语法是否存在)有一种方法可以说“默认是 '黑色' ”并且只使用“红色”来表示我明确地说是“红色”的那个。有点像我在 switch 语句中的表现。PHP 枚举是否提供这样的语法?