La expresión match en PHP
La respuesta de PHP 8 a switch: comparación estricta, valor de retorno y sin fallthrough.
<?php
$status = 404;
// match compares with ===, returns a value, and never falls through
$label = match ($status) {
200, 204 => "success",
301, 302 => "redirect",
404 => "not found",
500 => "server error",
default => "unknown",
};
echo "$status: $label", PHP_EOL;
echo match (true) {
$status >= 400 => "trouble",
default => "fine",
}, PHP_EOL;
Cómo funciona
match ($status)compara cada rama con===y produce el valor de la rama.- Las comas agrupan códigos:
200, 204comparten una etiqueta;defaultatrapa el resto. match (true)convierte las ramas en condiciones arbitrarias, como chequeos de rango.
Palabras clave y builtins usados aquí
defaultechomatchtrue
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 346
- Tokens
- 80
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 60 segundos.
Paso 2 de 3 en Control de flujo; paso 5 de 27 en Fundamentos del lenguaje.