2012-05-08 19 views
3

define()を使用して定義された変数があります その変数の名前の一部を通常のphp $変数に保存します。 名前を動的に設定することによって、定義された変数にアクセスします。すなわち:

define('xxx_yyy',123); 
$a='xxz'; 
$b='_yyy'; 


//How to I echo out "123" now? (without using echo xxx_yyy); 
//Something like these (don't work): 
echo $a$b; 
echo {$a$b}; 

私は考えることができる唯一のことは、次のとおりです。

$defined=get_defined_vars(); 
echo $defined[$a$b]; 

それが不格好なようです

+0

うわー!どうして?よりよい方法が必要です。ここで何を達成したいのですか?配列が何であるか知っていますか? –

+0

他の変数から変数名をアセンブルすることで、定義済みの変数へのアクセスを実現したい。 – timh

+0

これは理想的なアプローチであるシナリオを描くことができません。 –

答えて

2

あなたは)(定数使用することができます。

echo constant ($a . $b); 
2

それはconstantだ、変数ではありません。 )(

echo $a . $b; 

また、定義する定数でない変数を作る:

-4

は123が出てエコーにするために、これを使用します。このため

+0

Erm ...は、その定数の値ではなく、 '' xxx_yyy "'を出力します。 –

+0

おっと、私はちょうどコンカットに集中していた – MikeyObviously

関連する問題