PHP常量变量

时间:2011-06-19 10:05:14

标签: php

我知道这可能是一个新手问题,但是可以这样做吗?

unserialize(LOG_ACTIONS_.''.strtoupper($language));

我有_LANGUAGE的常量列表,我想使用变量$ language。

示例:

unserialize(LOG_ACTIONS_ENGLISH);

这是我得到的错误:

Fatal error: Call to undefined function LOG_ACTIONS_strtoupper()

2 个答案:

答案 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)));