Цитата:
Изначально опубликовано Natasha
Т.е. как сопоставить метку и значение в enum? Какой функцией?
У значений enum есть два независимых свойства: имя (name) и метка (label).
str2enum по типу Enum'а и значению метки возвращает переменную этого типа с соответствующей меткой. Например
PHP код:
SalesStatus ss;
ss = str2enum(ss, "Открытый заказ"); // В ss значение enum'а с меткой "Открытый заказ"
// ... по секрету, это SalesStatus::Backordered
enum2str наоборот по значению enum'а возвращает его метку.
В принципе, enum'ы можно рассматривать и как значения типа int. Например, если вы сделаете int2str(SalesStatus::Backordered), получите так желаемую вами единицу.