Para associarmos valores a membros de um Enum, precisamos declará-los informando
que os seus membros terão valor de um determinado tipo de dado. A sintaxe abaixo
exemplifica o que foi discutido:
Sintaxe
enum nome_emumerador: tipo_dado
{
case nome_membro1 = valor1;
case nome_membro2 = valor2;
case nome_membroN = valorN;
}
Onde
tipo_dado: tipo de dados do enum. Apenas int e string são aceitos.
valor1..N: valores do tipo tipo_dado
Exemplo 3
<?php
enum Teste1: int
{
case OPCAO1 = 0;
case OPCAO2 = 1;
case OPCAO3 = 2;
}
enum Teste2: string
{
case OPCAO1 = 'opcao1';
case OPCAO2 = 'opcao2';
case OPCAO3 = 'opcao3';
}
?>
Saída
-
Os valores associados aos membros de um Enum são acessados utilizando os operadores
(::) e (->) como pode ser visto abaixo. Tanto os valores quanto os nomes são
recuperador com auxílio dos atributos value e name:
Sintaxe
nome_enum::nome_membro->value;
nome_enum::nome_membro->name;
Onde
value: valor associado ao membro
name: nome do membro
Exemplo 4
&l?php
enum Teste1: int
{
case OPCAO1 = 0;
case OPCAO2 = 1;
case OPCAO3 = 2;
}
echo Teste1::OPCAO1->value,"\n";
echo Teste1::OPCAO1->name;
?>
Saída
0
OPCAO1