3v4l.org

run code in 300+ PHP versions simultaneously
<?php enum ResponseType { case Informational; case Success; case Redirect; case ClientError; case ServerError; case Teapot; case Unknown; } function getErrorType(int $code) { return match (true) { $code === 418 => ResponseType::Teapot, $code >= 100 && $code < 200 => ResponseType::Informational, $code >= 200 && $code < 300 => ResponseType::Success, $code >= 300 && $code < 400 => ResponseType::Redirect, $code >= 400 && $code < 500 => ResponseType::ClientError, $code >= 500 && $code < 600 => ResponseType::ServerError, default => ResponseType::Unknown, }; } $test = [108, 200, 201, 307, 404, 418, 500, 615]; foreach ($test as $code) { var_dump($code, getErrorType($code)); }

preferences:
24.89 ms | 404 KiB | 5 Q