2012-03-30 19 views
1

私はこのような一定の変数を定義したファイルがあります:関数内で定数変数(別のファイルで定義)に動的にアクセスするにはどうすればよいですか?

<? 

define("something","value"); 
define("something1","value"); 
define("something2","value"); 
define("something3","value"); 

define_vars.php

をそして私はこのように、一定の変数名として$varを解析する機能を持っている:

function something($var=''){ 

include('define_vars.php'); 

// $var is the name of one of the variables I am defining in the other file (define_vars.php) 
// So $var may have a value of "something3", which is the name of one of the constants defined in the other file... 

} 

私は何とか定数の値を取得する必要があります。$ varは定数の名前を保持しています。 :S

すべてのアイデア?

答えて

4

あなたはconstant()

constant($var); // value 
5

http://php.net/constant

function something($var) { 
    if (defined($var)) { 
     $value = constant($var); 
    } 
} 

また、あなたが定義を持つファイルは一度しか含まれますことを確認する必要があり、その代わりにrequire_once('define_vars.php');を使用したいです。

2

constant()を使用して値を取得します。あなたはこのようなことをすることができます

function something($var = '') { 
    include_once('define_vars.php'); //you don't want to include the file more than once or it will cause a fatal error when trying to redefine your constants 
    return (defined($var) ? constant($var) : null); 
} 
関連する問題