2011-06-19 25 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))); 

でも、私は、定数でシリアル化されたデータを持つことは本当に賢明であるかどうかはわからない - それらのデータの多くがあります場合には高価なことができます。

定数には配列の値を入れることができないという制限を回避すると仮定します。このSO質問はそれを回避するためにいくつかのより良い方法を示しています

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

1

あなたはおそらくちょうどconstant()機能を使用することができます。

unserialize(constant('LOG_ACTIONS_'.strtoupper($language))); 
関連する問題