typestar

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

  1. match ($status) compara cada rama con === y produce el valor de la rama.
  2. Las comas agrupan códigos: 200, 204 comparten una etiqueta; default atrapa el resto.
  3. match (true) convierte las ramas en condiciones arbitrarias, como chequeos de rango.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Control de flujo; paso 5 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →