2011-06-19 116 views
0

我知道這可能是一個新手問題,但它可能做到這一點?PHP常量與變量

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

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

例子:

unserialize(LOG_ACTIONS_ENGLISH); 

這是我得到的錯誤:

Fatal error: Call to undefined function LOG_ACTIONS_strtoupper() 

回答

7

使用constant()得到常量的實際值。

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

我不知道在恆定爲串行數據是否真的是明智的,雖然 - 它可以是昂貴的,如果有很多在他們的數據。

我認爲這是爲了規避常量不能包含數組值的限制。這太問題給出了一些更好的方式來解決是:

What is the most "elegant" way to define a global constant array in PHP

1

你很可能只是用constant()功能:

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