我知道这可能是一个新手问题,但是可以这样做吗?
unserialize(LOG_ACTIONS_.''.strtoupper($language));
我有_LANGUAGE的常量列表,我想使用变量$ language。
示例:
unserialize(LOG_ACTIONS_ENGLISH);
这是我得到的错误:
Fatal error: Call to undefined function LOG_ACTIONS_strtoupper()
答案 0 :(得分:7)
使用constant()
获取常量的实际值。
unserialize(constant(LOG_ACTIONS_.''.strtoupper($language)));
我不确定将数据序列化为常量是否真的很明智 - 如果其中包含大量数据,则可能会很昂贵。
我认为这是为了避免常量不能包含数组值的限制。这个问题提出了一些更好的方法来解决这个问题:
What is the most "elegant" way to define a global constant array in PHP
答案 1 :(得分:1)
您可以使用constant()函数:
unserialize(constant('LOG_ACTIONS_'.strtoupper($language)));