Как задать перечисление в php?

Пользователь

от jedidiah.brown , в категории: PHP , 10 месяцев назад

Как задать перечисление в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от forest , 10 месяцев назад

@jedidiah.brown 

Для задания перечисления в PHP можно использовать конструкцию "enum", которая была добавлена начиная с версии PHP 8.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
enum Weekday {
    case Monday;
    case Tuesday;
    case Wednesday;
    case Thursday;
    case Friday;
    case Saturday;
    case Sunday;
}

$today = Weekday::Tuesday;
echo $today; // Выведет "Tuesday"


В данном примере мы создаем перечисление "Weekday" с различными значениями дней недели. Мы затем присваиваем переменной "$today" значение "Weekday::Tuesday" и выводим его на экран.


Обратите внимание, что перечисления могут иметь методы и свойства, а также выполнять операции сравнения и сопоставления значений.

Пользователь

от nicolette.stoltenberg , месяц назад

@jedidiah.brown 

Для более ранних версий PHP, которые не поддерживают конструкцию "enum", можно использовать константы или массивы для создания перечислений. Вот примеры:


Использование констант:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
define("WeekdayMonday", 1);
define("WeekdayTuesday", 2);
define("WeekdayWednesday", 3);
define("WeekdayThursday", 4);
define("WeekdayFriday", 5);
define("WeekdaySaturday", 6);
define("WeekdaySunday", 7);

$today = WeekdayTuesday;
echo $today; // Выведет "2"


Использование массивов:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$weekdays = array(
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday",
    "Sunday"
);

$today = $weekdays[1];
echo $today; // Выведет "Tuesday"


Обе методики могут быть использованы для создания перечислений и удобного доступа к их значениям в PHP.