¿Hay alguna alternativa de switch-case en PHP?

PHP introdujo una alternativa de switch-case en el lanzamiento de la octava versión.

En el lanzamiento de la octava versión de PHP, se introduce la función match() , que es la nueva alternativa de switch-case. Es una característica poderosa que a menudo es la mejor decisión para usar en lugar de una caja de interruptores . La función match() también funciona de manera similar a switch , es decir, encuentra el caso coincidente de acuerdo con el parámetro que se le pasó. 

Sintaxis: 

$variable = match() {
    somecase => 'match_value' ,
    anothercase => 'match_value',
    default => 'match_value',
};

Ejemplo:

$value = match(1){
    1 => 'Hii..',
    2 => 'Hello..',
    default => 'Match not found !',
};

¿En qué se diferencia la función match() de switch-case? 

  • Utiliza un símbolo de flecha en lugar de dos puntos.
  • No requiere una declaración de ruptura.
  • Los casos están separados por comas en lugar de una declaración de ruptura.
  • La sintaxis de match() termina con un punto y coma.
  • Devuelve algún valor basado en el parámetro proporcionado.
  • Comprobación estricta de tipos y distinción entre mayúsculas y minúsculas.
  • Cuando no hay un valor predeterminado y un valor de coincidencia, arrojará un error.
  • Implementación de condiciones complejas y rendimiento mejorado.

Nota:   La función match() es compatible con PHP versión 8 y superior.

Código PHP: El siguiente ejemplo demuestra el cambio de caso que asignará valor a la variable $mensaje en base a un valor pasado en el parámetro del interruptor()  

PHP

<?php
   
$day = 7;
 
switch ($day) {
    case 1 : $message = 'Monday';
             break;
    case 2 : $message = 'Tuesday';
             break;
    case 3 : $message = 'Wednesday';
             break;
    case 4 : $message = 'Thursday';
                break;
    case 5 : $message = 'Friday';
             break;
    case 6 : $message = 'Saturday';
             break;
    case 7 : $message = 'Sunday';
             break;
    default : $message = 'Invalid Input !';
              break;
}
 
echo $message;
?>
Producción

Sunday

Código PHP: El siguiente código demuestra la función match() que se ejecuta solo en PHP 8 o superior. 

PHP

<?php
   
$day = 7;
 
$message = match ($day) {
    1 => 'Monday',
    2 => 'Tuesday',
    3 => 'Wednesday',
    4 => 'Thursday',
    5 => 'Friday',
    6 => 'Saturday',
    7 => 'Sunday',
    default => 'Invalid Input !',
};
 
echo $message;
?>
  

Producción:

Sunday

Publicación traducida automáticamente

Artículo escrito por talktoosaurabh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *