3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum Colour { case Red; case Blue; case Green; public static function fromCaseName (string $name): ?self { $cases = self::cases(); foreach ($cases as $selCase) { if ($selCase->name === $name) { return $selCase; } } return null; } public function toRgb () { return match ($this) { self::Red => "255, 0, 0", self::Blue => "0, 255, 0", self::Green => "0, 0, 255" }; } public function toHex () { return match ($this) { self::Red => "#ff0000", self::Blue => "#00ff00", self::Green => "#0000ff" }; } public function toCmyk () { return match ($this) { self::Red => "0% 100% 100% 0%", self::Blue => "100% 0% 100% 0%", self::Green => "100% 100% 0% 0%" }; } } var_dump(Colour::Red); var_dump(Colour::Red->toRgb()); var_dump(Colour::Red->toHex()); var_dump(Colour::Red->toCmyk()); var_dump(Colour::fromCaseName('Red')); var_dump(Colour::fromCaseName('Red')->toRgb());

preferences:
17.81 ms | 404 KiB | 5 Q