Cómo verificar si es un tipo enumerado?
¿Cómo puedo saber si una variable es del tipo enum?
He instalado PHP 8.1 en mi Ubuntu 20.04. Estoy probando los nuevos tipos “enum”.
¿Es algo posible?
is_enum($var)
gettype($var) === 'enum'
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Desafortunadamente, no hay una función incorporada
is_enum()
en PHP para verificar directamente si una variable es de tipo enum. Sin embargo, puedes usar la claseReflectionType
para obtener el tipo de una variable y luego verificar si es una instancia deReflectionEnum
. Aquí tienes un ejemplo:Alternativamente, también puedes verificar si el tipo de una variable es una cadena y su valor coincide con el nombre de un enum definido utilizando la función
defined()
. Aquí tienes un ejemplo:Nota que los ejemplos anteriores asumen que estás utilizando la característica
enum
en PHP 8.1 o posterior. Si estás utilizando una versión anterior de PHP, puedes simular enums utilizando valores constantes o clases. En esos casos, puedes modificar la funciónis_enum()
en consecuencia para verificar esos tipos.